@workglow/ai-provider 0.0.125 → 0.1.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.
Files changed (185) hide show
  1. package/dist/common/HfModelSearch.d.ts +1 -0
  2. package/dist/common/HfModelSearch.d.ts.map +1 -1
  3. package/dist/common/modelSearchQuery.d.ts +25 -0
  4. package/dist/common/modelSearchQuery.d.ts.map +1 -0
  5. package/dist/provider-anthropic/AnthropicProvider.d.ts +1 -1
  6. package/dist/provider-anthropic/AnthropicProvider.d.ts.map +1 -1
  7. package/dist/provider-anthropic/AnthropicQueuedProvider.d.ts +4 -4
  8. package/dist/provider-anthropic/AnthropicQueuedProvider.d.ts.map +1 -1
  9. package/dist/provider-anthropic/common/Anthropic_Client.d.ts.map +1 -1
  10. package/dist/provider-anthropic/common/Anthropic_CountTokens.d.ts.map +1 -1
  11. package/dist/provider-anthropic/common/Anthropic_JobRunFns.d.ts.map +1 -1
  12. package/dist/provider-anthropic/common/Anthropic_ModelSearch.d.ts.map +1 -1
  13. package/dist/provider-anthropic/common/Anthropic_TextGeneration.d.ts.map +1 -1
  14. package/dist/provider-anthropic/common/Anthropic_TextRewriter.d.ts.map +1 -1
  15. package/dist/provider-anthropic/common/Anthropic_TextSummary.d.ts.map +1 -1
  16. package/dist/provider-anthropic/index.js +3 -4
  17. package/dist/provider-anthropic/index.js.map +3 -3
  18. package/dist/provider-anthropic/runtime.js +39 -292
  19. package/dist/provider-anthropic/runtime.js.map +13 -13
  20. package/dist/provider-chrome/common/WebBrowser_ModelSearch.d.ts.map +1 -1
  21. package/dist/provider-chrome/common/WebBrowser_TextGeneration.d.ts.map +1 -1
  22. package/dist/provider-chrome/common/WebBrowser_TextLanguageDetection.d.ts.map +1 -1
  23. package/dist/provider-chrome/common/WebBrowser_TextRewriter.d.ts.map +1 -1
  24. package/dist/provider-chrome/common/WebBrowser_TextSummary.d.ts.map +1 -1
  25. package/dist/provider-chrome/common/WebBrowser_TextTranslation.d.ts.map +1 -1
  26. package/dist/provider-chrome/runtime.js +24 -99
  27. package/dist/provider-chrome/runtime.js.map +10 -9
  28. package/dist/provider-gemini/GoogleGeminiProvider.d.ts +1 -1
  29. package/dist/provider-gemini/GoogleGeminiProvider.d.ts.map +1 -1
  30. package/dist/provider-gemini/GoogleGeminiQueuedProvider.d.ts +4 -4
  31. package/dist/provider-gemini/GoogleGeminiQueuedProvider.d.ts.map +1 -1
  32. package/dist/provider-gemini/common/Gemini_CountTokens.d.ts.map +1 -1
  33. package/dist/provider-gemini/common/Gemini_JobRunFns.d.ts.map +1 -1
  34. package/dist/provider-gemini/common/Gemini_ModelSearch.d.ts.map +1 -1
  35. package/dist/provider-gemini/common/Gemini_TextEmbedding.d.ts.map +1 -1
  36. package/dist/provider-gemini/common/Gemini_TextGeneration.d.ts.map +1 -1
  37. package/dist/provider-gemini/common/Gemini_TextRewriter.d.ts.map +1 -1
  38. package/dist/provider-gemini/common/Gemini_TextSummary.d.ts.map +1 -1
  39. package/dist/provider-gemini/index.js +3 -4
  40. package/dist/provider-gemini/index.js.map +3 -3
  41. package/dist/provider-gemini/runtime.js +33 -259
  42. package/dist/provider-gemini/runtime.js.map +13 -13
  43. package/dist/provider-hf-inference/HfInferenceProvider.d.ts +1 -1
  44. package/dist/provider-hf-inference/HfInferenceProvider.d.ts.map +1 -1
  45. package/dist/provider-hf-inference/HfInferenceQueuedProvider.d.ts +4 -4
  46. package/dist/provider-hf-inference/HfInferenceQueuedProvider.d.ts.map +1 -1
  47. package/dist/provider-hf-inference/common/HFI_Client.d.ts.map +1 -1
  48. package/dist/provider-hf-inference/common/HFI_JobRunFns.d.ts.map +1 -1
  49. package/dist/provider-hf-inference/common/HFI_ModelSearch.d.ts.map +1 -1
  50. package/dist/provider-hf-inference/common/HFI_TextEmbedding.d.ts.map +1 -1
  51. package/dist/provider-hf-inference/common/HFI_TextGeneration.d.ts.map +1 -1
  52. package/dist/provider-hf-inference/common/HFI_TextRewriter.d.ts.map +1 -1
  53. package/dist/provider-hf-inference/common/HFI_TextSummary.d.ts.map +1 -1
  54. package/dist/provider-hf-inference/index.js +3 -4
  55. package/dist/provider-hf-inference/index.js.map +3 -3
  56. package/dist/provider-hf-inference/runtime.js +14 -207
  57. package/dist/provider-hf-inference/runtime.js.map +13 -14
  58. package/dist/provider-hf-transformers/HuggingFaceTransformersProvider.d.ts +1 -1
  59. package/dist/provider-hf-transformers/HuggingFaceTransformersProvider.d.ts.map +1 -1
  60. package/dist/provider-hf-transformers/HuggingFaceTransformersQueuedProvider.d.ts +13 -3
  61. package/dist/provider-hf-transformers/HuggingFaceTransformersQueuedProvider.d.ts.map +1 -1
  62. package/dist/provider-hf-transformers/common/HFT_Constants.d.ts +4 -0
  63. package/dist/provider-hf-transformers/common/HFT_Constants.d.ts.map +1 -1
  64. package/dist/provider-hf-transformers/common/HFT_CountTokens.d.ts.map +1 -1
  65. package/dist/provider-hf-transformers/common/HFT_Download.d.ts.map +1 -1
  66. package/dist/provider-hf-transformers/common/HFT_ImageEmbedding.d.ts.map +1 -1
  67. package/dist/provider-hf-transformers/common/HFT_JobRunFns.d.ts +117 -88
  68. package/dist/provider-hf-transformers/common/HFT_JobRunFns.d.ts.map +1 -1
  69. package/dist/provider-hf-transformers/common/HFT_ModelInfo.d.ts.map +1 -1
  70. package/dist/provider-hf-transformers/common/HFT_ModelSchema.d.ts +30 -0
  71. package/dist/provider-hf-transformers/common/HFT_ModelSchema.d.ts.map +1 -1
  72. package/dist/provider-hf-transformers/common/HFT_ModelSearch.d.ts.map +1 -1
  73. package/dist/provider-hf-transformers/common/HFT_OnnxDtypes.d.ts.map +1 -1
  74. package/dist/provider-hf-transformers/common/HFT_Pipeline.d.ts +9 -2
  75. package/dist/provider-hf-transformers/common/HFT_Pipeline.d.ts.map +1 -1
  76. package/dist/provider-hf-transformers/common/HFT_Streaming.d.ts +2 -2
  77. package/dist/provider-hf-transformers/common/HFT_Streaming.d.ts.map +1 -1
  78. package/dist/provider-hf-transformers/common/HFT_TextClassification.d.ts.map +1 -1
  79. package/dist/provider-hf-transformers/common/HFT_TextFillMask.d.ts.map +1 -1
  80. package/dist/provider-hf-transformers/common/HFT_TextGeneration.d.ts.map +1 -1
  81. package/dist/provider-hf-transformers/common/HFT_TextLanguageDetection.d.ts.map +1 -1
  82. package/dist/provider-hf-transformers/common/HFT_TextNamedEntityRecognition.d.ts.map +1 -1
  83. package/dist/provider-hf-transformers/common/HFT_TextQuestionAnswer.d.ts.map +1 -1
  84. package/dist/provider-hf-transformers/common/HFT_TextRewriter.d.ts.map +1 -1
  85. package/dist/provider-hf-transformers/common/HFT_TextSummary.d.ts.map +1 -1
  86. package/dist/provider-hf-transformers/common/HFT_TextTranslation.d.ts.map +1 -1
  87. package/dist/provider-hf-transformers/index.d.ts +0 -1
  88. package/dist/provider-hf-transformers/index.d.ts.map +1 -1
  89. package/dist/provider-hf-transformers/index.js +49 -177
  90. package/dist/provider-hf-transformers/index.js.map +8 -9
  91. package/dist/provider-hf-transformers/registerHuggingFaceTransformersWorker.d.ts.map +1 -1
  92. package/dist/provider-hf-transformers/runtime.d.ts +0 -1
  93. package/dist/provider-hf-transformers/runtime.d.ts.map +1 -1
  94. package/dist/provider-hf-transformers/runtime.js +209 -514
  95. package/dist/provider-hf-transformers/runtime.js.map +29 -31
  96. package/dist/provider-llamacpp/LlamaCppProvider.d.ts +1 -1
  97. package/dist/provider-llamacpp/LlamaCppProvider.d.ts.map +1 -1
  98. package/dist/provider-llamacpp/LlamaCppQueuedProvider.d.ts +1 -1
  99. package/dist/provider-llamacpp/LlamaCppQueuedProvider.d.ts.map +1 -1
  100. package/dist/provider-llamacpp/common/LlamaCpp_CountTokens.d.ts.map +1 -1
  101. package/dist/provider-llamacpp/common/LlamaCpp_JobRunFns.d.ts.map +1 -1
  102. package/dist/provider-llamacpp/common/LlamaCpp_ModelSchema.d.ts +15 -0
  103. package/dist/provider-llamacpp/common/LlamaCpp_ModelSchema.d.ts.map +1 -1
  104. package/dist/provider-llamacpp/common/LlamaCpp_ModelSearch.d.ts.map +1 -1
  105. package/dist/provider-llamacpp/common/LlamaCpp_Runtime.d.ts +10 -0
  106. package/dist/provider-llamacpp/common/LlamaCpp_Runtime.d.ts.map +1 -1
  107. package/dist/provider-llamacpp/common/LlamaCpp_StructuredGeneration.d.ts.map +1 -1
  108. package/dist/provider-llamacpp/common/LlamaCpp_TextEmbedding.d.ts.map +1 -1
  109. package/dist/provider-llamacpp/common/LlamaCpp_TextGeneration.d.ts.map +1 -1
  110. package/dist/provider-llamacpp/common/LlamaCpp_TextRewriter.d.ts.map +1 -1
  111. package/dist/provider-llamacpp/common/LlamaCpp_TextSummary.d.ts.map +1 -1
  112. package/dist/provider-llamacpp/index.js +6 -2
  113. package/dist/provider-llamacpp/index.js.map +4 -4
  114. package/dist/provider-llamacpp/runtime.js +83 -231
  115. package/dist/provider-llamacpp/runtime.js.map +15 -16
  116. package/dist/provider-ollama/OllamaProvider.d.ts +1 -1
  117. package/dist/provider-ollama/OllamaProvider.d.ts.map +1 -1
  118. package/dist/provider-ollama/OllamaQueuedProvider.d.ts +4 -4
  119. package/dist/provider-ollama/OllamaQueuedProvider.d.ts.map +1 -1
  120. package/dist/provider-ollama/common/Ollama_JobRunFns.browser.d.ts +14 -72
  121. package/dist/provider-ollama/common/Ollama_JobRunFns.browser.d.ts.map +1 -1
  122. package/dist/provider-ollama/common/Ollama_JobRunFns.d.ts +14 -72
  123. package/dist/provider-ollama/common/Ollama_JobRunFns.d.ts.map +1 -1
  124. package/dist/provider-ollama/common/Ollama_ModelSearch.d.ts.map +1 -1
  125. package/dist/provider-ollama/common/Ollama_TextGeneration.d.ts.map +1 -1
  126. package/dist/provider-ollama/common/Ollama_TextRewriter.d.ts.map +1 -1
  127. package/dist/provider-ollama/common/Ollama_TextSummary.d.ts.map +1 -1
  128. package/dist/provider-ollama/index.browser.js +3 -4
  129. package/dist/provider-ollama/index.browser.js.map +3 -3
  130. package/dist/provider-ollama/index.js +3 -4
  131. package/dist/provider-ollama/index.js.map +3 -3
  132. package/dist/provider-ollama/runtime.browser.js +28 -181
  133. package/dist/provider-ollama/runtime.browser.js.map +11 -11
  134. package/dist/provider-ollama/runtime.js +28 -176
  135. package/dist/provider-ollama/runtime.js.map +11 -11
  136. package/dist/provider-openai/OpenAiProvider.d.ts +1 -1
  137. package/dist/provider-openai/OpenAiProvider.d.ts.map +1 -1
  138. package/dist/provider-openai/OpenAiQueuedProvider.d.ts +4 -4
  139. package/dist/provider-openai/OpenAiQueuedProvider.d.ts.map +1 -1
  140. package/dist/provider-openai/common/OpenAI_Client.d.ts.map +1 -1
  141. package/dist/provider-openai/common/OpenAI_CountTokens.browser.d.ts.map +1 -1
  142. package/dist/provider-openai/common/OpenAI_CountTokens.d.ts.map +1 -1
  143. package/dist/provider-openai/common/OpenAI_JobRunFns.browser.d.ts.map +1 -1
  144. package/dist/provider-openai/common/OpenAI_JobRunFns.d.ts.map +1 -1
  145. package/dist/provider-openai/common/OpenAI_ModelSearch.d.ts.map +1 -1
  146. package/dist/provider-openai/common/OpenAI_TextEmbedding.d.ts.map +1 -1
  147. package/dist/provider-openai/common/OpenAI_TextGeneration.d.ts.map +1 -1
  148. package/dist/provider-openai/common/OpenAI_TextRewriter.d.ts.map +1 -1
  149. package/dist/provider-openai/common/OpenAI_TextSummary.d.ts.map +1 -1
  150. package/dist/provider-openai/index.browser.js +3 -4
  151. package/dist/provider-openai/index.browser.js.map +3 -3
  152. package/dist/provider-openai/index.js +3 -4
  153. package/dist/provider-openai/index.js.map +3 -3
  154. package/dist/provider-openai/runtime.browser.js +42 -225
  155. package/dist/provider-openai/runtime.browser.js.map +14 -14
  156. package/dist/provider-openai/runtime.js +42 -225
  157. package/dist/provider-openai/runtime.js.map +14 -14
  158. package/dist/provider-tf-mediapipe/TensorFlowMediaPipeQueuedProvider.d.ts +3 -3
  159. package/dist/provider-tf-mediapipe/TensorFlowMediaPipeQueuedProvider.d.ts.map +1 -1
  160. package/dist/provider-tf-mediapipe/common/TFMP_ImageEmbedding.d.ts.map +1 -1
  161. package/dist/provider-tf-mediapipe/common/TFMP_JobRunFns.d.ts +18 -11
  162. package/dist/provider-tf-mediapipe/common/TFMP_JobRunFns.d.ts.map +1 -1
  163. package/dist/provider-tf-mediapipe/common/TFMP_ModelSearch.d.ts.map +1 -1
  164. package/dist/provider-tf-mediapipe/common/TFMP_Unload.d.ts.map +1 -1
  165. package/dist/provider-tf-mediapipe/index.js +3 -3
  166. package/dist/provider-tf-mediapipe/index.js.map +3 -3
  167. package/dist/provider-tf-mediapipe/runtime.js +37 -7
  168. package/dist/provider-tf-mediapipe/runtime.js.map +8 -7
  169. package/package.json +31 -19
  170. package/dist/provider-anthropic/common/Anthropic_ToolCalling.d.ts +0 -10
  171. package/dist/provider-anthropic/common/Anthropic_ToolCalling.d.ts.map +0 -1
  172. package/dist/provider-gemini/common/Gemini_ToolCalling.d.ts +0 -10
  173. package/dist/provider-gemini/common/Gemini_ToolCalling.d.ts.map +0 -1
  174. package/dist/provider-hf-inference/common/HFI_ToolCalling.d.ts +0 -10
  175. package/dist/provider-hf-inference/common/HFI_ToolCalling.d.ts.map +0 -1
  176. package/dist/provider-hf-transformers/common/HFT_ToolCalling.d.ts +0 -10
  177. package/dist/provider-hf-transformers/common/HFT_ToolCalling.d.ts.map +0 -1
  178. package/dist/provider-hf-transformers/common/HFT_ToolMarkup.d.ts +0 -40
  179. package/dist/provider-hf-transformers/common/HFT_ToolMarkup.d.ts.map +0 -1
  180. package/dist/provider-llamacpp/common/LlamaCpp_ToolCalling.d.ts +0 -10
  181. package/dist/provider-llamacpp/common/LlamaCpp_ToolCalling.d.ts.map +0 -1
  182. package/dist/provider-ollama/common/Ollama_ToolCalling.d.ts +0 -16
  183. package/dist/provider-ollama/common/Ollama_ToolCalling.d.ts.map +0 -1
  184. package/dist/provider-openai/common/OpenAI_ToolCalling.d.ts +0 -10
  185. package/dist/provider-openai/common/OpenAI_ToolCalling.d.ts.map +0 -1
@@ -1,24 +1,24 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/provider-ollama/common/Ollama_Constants.ts", "../src/provider-ollama/common/Ollama_ModelUtil.ts", "../src/provider-ollama/common/Ollama_Client.browser.ts", "../src/provider-ollama/common/Ollama_ModelInfo.ts", "../src/provider-ollama/common/Ollama_ModelSearch.ts", "../src/provider-ollama/common/Ollama_TextEmbedding.ts", "../src/provider-ollama/common/Ollama_TextGeneration.ts", "../src/provider-ollama/common/Ollama_TextRewriter.ts", "../src/provider-ollama/common/Ollama_TextSummary.ts", "../src/provider-ollama/common/Ollama_ToolCalling.ts", "../src/provider-ollama/common/Ollama_JobRunFns.browser.ts", "../src/provider-ollama/OllamaQueuedProvider.ts", "../src/provider-ollama/registerOllamaInline.browser.ts", "../src/provider-ollama/registerOllamaWorker.browser.ts", "../src/provider-ollama/OllamaProvider.ts"],
3
+ "sources": ["../src/provider-ollama/common/Ollama_Constants.ts", "../src/provider-ollama/common/Ollama_ModelUtil.ts", "../src/provider-ollama/common/Ollama_Client.browser.ts", "../src/provider-ollama/common/Ollama_ModelInfo.ts", "../src/common/modelSearchQuery.ts", "../src/provider-ollama/common/Ollama_ModelSearch.ts", "../src/provider-ollama/common/Ollama_TextEmbedding.ts", "../src/provider-ollama/common/Ollama_TextGeneration.ts", "../src/provider-ollama/common/Ollama_TextRewriter.ts", "../src/provider-ollama/common/Ollama_TextSummary.ts", "../src/provider-ollama/common/Ollama_JobRunFns.browser.ts", "../src/provider-ollama/OllamaQueuedProvider.ts", "../src/provider-ollama/registerOllamaInline.browser.ts", "../src/provider-ollama/registerOllamaWorker.browser.ts", "../src/provider-ollama/OllamaProvider.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\nexport const OLLAMA = \"OLLAMA\";\nexport const OLLAMA_DEFAULT_BASE_URL = \"http://localhost:11434\";\n",
6
6
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { OllamaModelConfig } from \"./Ollama_ModelSchema\";\n\nexport function getOllamaModelName(model: OllamaModelConfig | 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",
7
7
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { OLLAMA_DEFAULT_BASE_URL } from \"./Ollama_Constants\";\nimport type { OllamaModelConfig } from \"./Ollama_ModelSchema\";\nimport { getOllamaModelName } from \"./Ollama_ModelUtil\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet _OllamaClass: (new (config: { host: string }) => any) | undefined;\n\nexport async function loadOllamaSDK(): Promise<(new (config: { host: string }) => any) & {}> {\n if (!_OllamaClass) {\n try {\n const sdk = await import(\"ollama/browser\");\n _OllamaClass = sdk.Ollama;\n } catch {\n throw new Error(\"ollama is required for Ollama tasks. Install it with: bun add ollama\");\n }\n }\n return _OllamaClass;\n}\n\nexport async function getClient(model: OllamaModelConfig | undefined) {\n const Ollama = await loadOllamaSDK();\n const host = model?.provider_config?.base_url || OLLAMA_DEFAULT_BASE_URL;\n return new Ollama({ host });\n}\n\nexport const getModelName = getOllamaModelName;\n",
8
8
  "/**\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 type { OllamaModelConfig } from \"./Ollama_ModelSchema\";\nimport { getOllamaModelName } from \"./Ollama_ModelUtil\";\n\ntype GetClient = (model: OllamaModelConfig | undefined) => Promise<any>;\n\nexport function createOllamaModelInfo(\n getClient: GetClient\n): AiProviderRunFn<ModelInfoTaskInput, ModelInfoTaskOutput, OllamaModelConfig> {\n return async (input, model) => {\n const client = await getClient(model);\n const modelName = getOllamaModelName(model);\n\n let is_cached = false;\n let is_loaded = false;\n let file_sizes: Record<string, number> | null = null;\n\n try {\n const showResponse = await client.show({ model: modelName });\n is_cached = true;\n const size = (showResponse as any).size as number | undefined;\n if (size != null) {\n file_sizes = { model: size };\n }\n } catch {\n // Model not available on server\n }\n\n try {\n const psResponse = await client.ps();\n is_loaded = psResponse.models.some((m: any) => m.name === modelName);\n } catch {\n // ps() not available or failed\n }\n\n return {\n model: input.model,\n is_local: true,\n is_remote: false,\n supports_browser: true,\n supports_node: true,\n is_cached,\n is_loaded,\n file_sizes,\n };\n };\n}\n",
9
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRunFn, ModelSearchTaskInput, ModelSearchTaskOutput } from \"@workglow/ai\";\nimport { OLLAMA } from \"./Ollama_Constants\";\nimport type { OllamaModelConfig } from \"./Ollama_ModelSchema\";\n\ntype GetClient = (model: OllamaModelConfig | undefined) => Promise<any>;\n\nexport function createOllamaModelSearch(\n getClient: GetClient\n): AiProviderRunFn<ModelSearchTaskInput, ModelSearchTaskOutput> {\n return async () => {\n try {\n const client = await getClient(undefined);\n const response = await client.list();\n const results = response.models.map((m: any) => ({\n id: m.name,\n label: `${m.name} ${m.details.parameter_size} ${m.details.quantization_level}`,\n description: `${m.details.parameter_size} ${m.details.quantization_level}`,\n record: {\n model_id: m.name,\n provider: OLLAMA,\n title: m.name,\n description: `${m.details.parameter_size} ${m.details.quantization_level}`,\n tasks: [],\n provider_config: { model_name: m.name },\n metadata: {},\n },\n raw: m,\n }));\n return { results };\n } catch {\n return { results: [] };\n }\n };\n}\n",
9
+ "/**\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",
10
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRunFn, ModelSearchTaskInput, ModelSearchTaskOutput } from \"@workglow/ai\";\nimport { filterModelSearchResultsByQuery } from \"../../common/modelSearchQuery\";\nimport { OLLAMA } from \"./Ollama_Constants\";\nimport type { OllamaModelConfig } from \"./Ollama_ModelSchema\";\n\ntype GetClient = (model: OllamaModelConfig | undefined) => Promise<any>;\n\nexport function createOllamaModelSearch(\n getClient: GetClient\n): AiProviderRunFn<ModelSearchTaskInput, ModelSearchTaskOutput> {\n return async (input) => {\n try {\n const client = await getClient(undefined);\n const response = await client.list();\n const results = response.models.map((m: any) => ({\n id: m.name,\n label: `${m.name} ${m.details.parameter_size} ${m.details.quantization_level}`,\n description: `${m.details.parameter_size} ${m.details.quantization_level}`,\n record: {\n model_id: m.name,\n provider: OLLAMA,\n title: m.name,\n description: `${m.details.parameter_size} ${m.details.quantization_level}`,\n tasks: [],\n provider_config: { model_name: m.name },\n metadata: {},\n },\n raw: m,\n }));\n return { results: filterModelSearchResultsByQuery(results, input.query) };\n } catch {\n return { results: [] };\n }\n };\n}\n",
10
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 TextEmbeddingTaskInput,\n TextEmbeddingTaskOutput,\n} from \"@workglow/ai\";\nimport type { OllamaModelConfig } from \"./Ollama_ModelSchema\";\nimport { getOllamaModelName } from \"./Ollama_ModelUtil\";\n\ntype GetClient = (model: OllamaModelConfig | undefined) => Promise<any>;\n\nexport function createOllamaTextEmbedding(\n getClient: GetClient\n): AiProviderRunFn<TextEmbeddingTaskInput, TextEmbeddingTaskOutput, OllamaModelConfig> {\n return async (input, model, update_progress, _signal) => {\n update_progress(0, \"Starting Ollama text embedding\");\n const client = await getClient(model);\n const modelName = getOllamaModelName(model);\n\n const texts = Array.isArray(input.text) ? input.text : [input.text];\n\n const response = await client.embed({\n model: modelName,\n input: texts,\n });\n\n update_progress(100, \"Completed Ollama text embedding\");\n\n if (Array.isArray(input.text)) {\n return {\n vector: response.embeddings.map((e: number[]) => new Float32Array(e)),\n };\n }\n return { vector: new Float32Array(response.embeddings[0]) };\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 AiProviderStreamFn,\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n} from \"@workglow/ai\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\nimport { getLogger } from \"@workglow/util/worker\";\nimport type { OllamaModelConfig } from \"./Ollama_ModelSchema\";\nimport { getOllamaModelName } from \"./Ollama_ModelUtil\";\n\ntype GetClient = (model: OllamaModelConfig | undefined) => Promise<any>;\n\nexport function createOllamaTextGeneration(\n getClient: GetClient\n): AiProviderRunFn<TextGenerationTaskInput, TextGenerationTaskOutput, OllamaModelConfig> {\n const run: AiProviderRunFn<\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n OllamaModelConfig\n > = async (input, model, update_progress, _signal) => {\n if (Array.isArray(input.prompt)) {\n getLogger().warn(\n \"Ollama_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 run({ ...input, prompt: item }, model, update_progress, _signal);\n results.push(r.text as string);\n }\n return { text: results };\n }\n\n update_progress(0, \"Starting Ollama text generation\");\n const client = await getClient(model);\n const modelName = getOllamaModelName(model);\n\n const response = await client.chat({\n model: modelName,\n messages: [{ role: \"user\", content: input.prompt as string }],\n options: {\n temperature: input.temperature,\n top_p: input.topP,\n num_predict: input.maxTokens,\n frequency_penalty: input.frequencyPenalty,\n presence_penalty: input.presencePenalty,\n },\n });\n\n update_progress(100, \"Completed Ollama text generation\");\n return { text: response.message.content };\n };\n return run;\n}\n\nexport function createOllamaTextGenerationStream(\n getClient: GetClient\n): AiProviderStreamFn<TextGenerationTaskInput, TextGenerationTaskOutput, OllamaModelConfig> {\n return async function* (\n input,\n model,\n signal\n ): AsyncIterable<StreamEvent<TextGenerationTaskOutput>> {\n const client = await getClient(model);\n const modelName = getOllamaModelName(model);\n\n const stream = await client.chat({\n model: modelName,\n messages: [{ role: \"user\", content: input.prompt as string }],\n options: {\n temperature: input.temperature,\n top_p: input.topP,\n num_predict: input.maxTokens,\n frequency_penalty: input.frequencyPenalty,\n presence_penalty: input.presencePenalty,\n },\n stream: true,\n });\n\n const onAbort = () => stream.abort();\n signal.addEventListener(\"abort\", onAbort, { once: true });\n try {\n for await (const chunk of stream) {\n const delta = chunk.message.content;\n if (delta) {\n yield { type: \"text-delta\", port: \"text\", textDelta: delta };\n }\n }\n yield { type: \"finish\", data: {} as TextGenerationTaskOutput };\n } finally {\n signal.removeEventListener(\"abort\", onAbort);\n }\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 AiProviderStreamFn,\n TextRewriterTaskInput,\n TextRewriterTaskOutput,\n} from \"@workglow/ai\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\nimport { getLogger } from \"@workglow/util/worker\";\nimport type { OllamaModelConfig } from \"./Ollama_ModelSchema\";\nimport { getOllamaModelName } from \"./Ollama_ModelUtil\";\n\ntype GetClient = (model: OllamaModelConfig | undefined) => Promise<any>;\n\nexport function createOllamaTextRewriter(\n getClient: GetClient\n): AiProviderRunFn<TextRewriterTaskInput, TextRewriterTaskOutput, OllamaModelConfig> {\n const run: AiProviderRunFn<\n TextRewriterTaskInput,\n TextRewriterTaskOutput,\n OllamaModelConfig\n > = async (input, model, update_progress, _signal) => {\n if (Array.isArray(input.text)) {\n getLogger().warn(\n \"Ollama_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 run({ ...input, text: item }, model, update_progress, _signal);\n results.push(r.text as string);\n }\n return { text: results };\n }\n\n update_progress(0, \"Starting Ollama text rewriting\");\n const client = await getClient(model);\n const modelName = getOllamaModelName(model);\n\n const response = await client.chat({\n model: modelName,\n messages: [\n { role: \"system\", content: input.prompt as string },\n { role: \"user\", content: input.text as string },\n ],\n });\n\n update_progress(100, \"Completed Ollama text rewriting\");\n return { text: response.message.content };\n };\n return run;\n}\n\nexport function createOllamaTextRewriterStream(\n getClient: GetClient\n): AiProviderStreamFn<TextRewriterTaskInput, TextRewriterTaskOutput, OllamaModelConfig> {\n return async function* (\n input,\n model,\n signal\n ): AsyncIterable<StreamEvent<TextRewriterTaskOutput>> {\n const client = await getClient(model);\n const modelName = getOllamaModelName(model);\n\n const stream = await client.chat({\n model: modelName,\n messages: [\n { role: \"system\", content: input.prompt as string },\n { role: \"user\", content: input.text as string },\n ],\n stream: true,\n });\n\n const onAbort = () => stream.abort();\n signal.addEventListener(\"abort\", onAbort, { once: true });\n try {\n for await (const chunk of stream) {\n const delta = chunk.message.content;\n if (delta) {\n yield { type: \"text-delta\", port: \"text\", textDelta: delta };\n }\n }\n yield { type: \"finish\", data: {} as TextRewriterTaskOutput };\n } finally {\n signal.removeEventListener(\"abort\", onAbort);\n }\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 AiProviderStreamFn,\n TextSummaryTaskInput,\n TextSummaryTaskOutput,\n} from \"@workglow/ai\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\nimport { getLogger } from \"@workglow/util/worker\";\nimport type { OllamaModelConfig } from \"./Ollama_ModelSchema\";\nimport { getOllamaModelName } from \"./Ollama_ModelUtil\";\n\ntype GetClient = (model: OllamaModelConfig | undefined) => Promise<any>;\n\nexport function createOllamaTextSummary(\n getClient: GetClient\n): AiProviderRunFn<TextSummaryTaskInput, TextSummaryTaskOutput, OllamaModelConfig> {\n const run: AiProviderRunFn<\n TextSummaryTaskInput,\n TextSummaryTaskOutput,\n OllamaModelConfig\n > = async (input, model, update_progress, _signal) => {\n if (Array.isArray(input.text)) {\n getLogger().warn(\n \"Ollama_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 run({ ...input, text: item }, model, update_progress, _signal);\n results.push(r.text as string);\n }\n return { text: results };\n }\n\n update_progress(0, \"Starting Ollama text summarization\");\n const client = await getClient(model);\n const modelName = getOllamaModelName(model);\n\n const response = await client.chat({\n model: modelName,\n messages: [\n { role: \"system\", content: \"Summarize the following text concisely.\" },\n { role: \"user\", content: input.text as string },\n ],\n });\n\n update_progress(100, \"Completed Ollama text summarization\");\n return { text: response.message.content };\n };\n return run;\n}\n\nexport function createOllamaTextSummaryStream(\n getClient: GetClient\n): AiProviderStreamFn<TextSummaryTaskInput, TextSummaryTaskOutput, OllamaModelConfig> {\n return async function* (input, model, signal): AsyncIterable<StreamEvent<TextSummaryTaskOutput>> {\n const client = await getClient(model);\n const modelName = getOllamaModelName(model);\n\n const stream = await client.chat({\n model: modelName,\n messages: [\n { role: \"system\", content: \"Summarize the following text concisely.\" },\n { role: \"user\", content: input.text as string },\n ],\n stream: true,\n });\n\n const onAbort = () => stream.abort();\n signal.addEventListener(\"abort\", onAbort, { once: true });\n try {\n for await (const chunk of stream) {\n const delta = chunk.message.content;\n if (delta) {\n yield { type: \"text-delta\", port: \"text\", textDelta: delta };\n }\n }\n yield { type: \"finish\", data: {} as TextSummaryTaskOutput };\n } finally {\n signal.removeEventListener(\"abort\", onAbort);\n }\n };\n}\n",
14
- "/**\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/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 { getLogger, parsePartialJson } from \"@workglow/util/worker\";\nimport type { OllamaModelConfig } from \"./Ollama_ModelSchema\";\nimport { getOllamaModelName } from \"./Ollama_ModelUtil\";\n\ntype GetClient = (model: OllamaModelConfig | undefined) => Promise<any>;\n\nexport type OllamaToolCallingMessagesFn = (\n input: ToolCallingTaskInput\n) => Array<{ role: string; content: string }>;\n\nfunction mapOllamaTools(tools: ReadonlyArray<ToolDefinition>) {\n return tools.map((t) => ({\n type: \"function\" as const,\n function: {\n name: t.name,\n description: buildToolDescription(t),\n parameters: t.inputSchema as any,\n },\n }));\n}\n\nexport function createOllamaToolCalling(\n getClient: GetClient,\n buildMessages: OllamaToolCallingMessagesFn\n): AiProviderRunFn<ToolCallingTaskInput, ToolCallingTaskOutput, OllamaModelConfig> {\n const run: AiProviderRunFn<\n ToolCallingTaskInput,\n ToolCallingTaskOutput,\n OllamaModelConfig\n > = async (input, model, update_progress, _signal) => {\n if (Array.isArray(input.prompt)) {\n getLogger().warn(\n \"Ollama_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 run({ ...input, prompt: item }, model, update_progress, _signal);\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 Ollama tool calling\");\n const client = await getClient(model);\n const modelName = getOllamaModelName(model);\n\n const messages = buildMessages(input);\n\n const tools = input.toolChoice === \"none\" ? undefined : mapOllamaTools(input.tools);\n\n const response = await client.chat({\n model: modelName,\n messages,\n tools,\n options: {\n temperature: input.temperature,\n num_predict: input.maxTokens,\n },\n });\n\n const text = response.message.content ?? \"\";\n const toolCalls: ToolCalls = [];\n (response.message.tool_calls ?? []).forEach((tc: any, index: number) => {\n let parsedInput: Record<string, unknown> = {};\n const fnArgs = tc.function.arguments;\n if (typeof fnArgs === \"string\") {\n try {\n parsedInput = JSON.parse(fnArgs);\n } catch {\n const partial = parsePartialJson(fnArgs);\n parsedInput = (partial as Record<string, unknown>) ?? {};\n }\n } else if (fnArgs != null) {\n parsedInput = fnArgs as Record<string, unknown>;\n }\n const id = `call_${index}`;\n toolCalls.push({ id, name: tc.function.name as string, input: parsedInput });\n });\n\n update_progress(100, \"Completed Ollama tool calling\");\n return { text, toolCalls: filterValidToolCalls(toolCalls, input.tools) };\n };\n return run;\n}\n\nexport function createOllamaToolCallingStream(\n getClient: GetClient,\n buildMessages: OllamaToolCallingMessagesFn\n): AiProviderStreamFn<ToolCallingTaskInput, ToolCallingTaskOutput, OllamaModelConfig> {\n return async function* (input, model, signal): AsyncIterable<StreamEvent<ToolCallingTaskOutput>> {\n const client = await getClient(model);\n const modelName = getOllamaModelName(model);\n\n const messages = buildMessages(input);\n\n const tools = input.toolChoice === \"none\" ? undefined : mapOllamaTools(input.tools);\n\n const stream = await client.chat({\n model: modelName,\n messages,\n tools,\n options: {\n temperature: input.temperature,\n num_predict: input.maxTokens,\n },\n stream: true,\n });\n\n const onAbort = () => stream.abort();\n signal.addEventListener(\"abort\", onAbort, { once: true });\n\n let accumulatedText = \"\";\n const toolCalls: ToolCalls = [];\n let callIndex = 0;\n\n try {\n for await (const chunk of stream) {\n const delta = chunk.message.content;\n if (delta) {\n accumulatedText += delta;\n yield { type: \"text-delta\", port: \"text\", textDelta: delta };\n }\n\n const chunkToolCalls = (chunk.message as any).tool_calls;\n if (Array.isArray(chunkToolCalls) && chunkToolCalls.length > 0) {\n for (const tc of chunkToolCalls) {\n let parsedInput: Record<string, unknown> = {};\n const fnArgs = tc.function.arguments;\n if (typeof fnArgs === \"string\") {\n try {\n parsedInput = JSON.parse(fnArgs);\n } catch {\n const partial = parsePartialJson(fnArgs);\n parsedInput = (partial as Record<string, unknown>) ?? {};\n }\n } else if (fnArgs != null) {\n parsedInput = fnArgs as Record<string, unknown>;\n }\n const id = `call_${callIndex++}`;\n toolCalls.push({ id, name: tc.function.name as string, input: parsedInput });\n }\n yield { type: \"object-delta\", port: \"toolCalls\", objectDelta: [...toolCalls] };\n }\n }\n\n const validToolCalls = filterValidToolCalls(toolCalls, input.tools);\n yield {\n type: \"finish\",\n data: { text: accumulatedText, toolCalls: validToolCalls } as ToolCallingTaskOutput,\n };\n } finally {\n signal.removeEventListener(\"abort\", onAbort);\n }\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 { AiProviderRunFn, AiProviderStreamFn, ToolCallingTaskInput } from \"@workglow/ai\";\nimport { getClient } from \"./Ollama_Client.browser\";\nimport { createOllamaModelInfo } from \"./Ollama_ModelInfo\";\nimport type { OllamaModelConfig } from \"./Ollama_ModelSchema\";\nimport { createOllamaModelSearch } from \"./Ollama_ModelSearch\";\nimport { createOllamaTextEmbedding } from \"./Ollama_TextEmbedding\";\nimport {\n createOllamaTextGeneration,\n createOllamaTextGenerationStream,\n} from \"./Ollama_TextGeneration\";\nimport { createOllamaTextRewriter, createOllamaTextRewriterStream } from \"./Ollama_TextRewriter\";\nimport { createOllamaTextSummary, createOllamaTextSummaryStream } from \"./Ollama_TextSummary\";\nimport { createOllamaToolCalling, createOllamaToolCallingStream } from \"./Ollama_ToolCalling\";\n\nexport { getClient, getModelName, loadOllamaSDK } from \"./Ollama_Client.browser\";\n\nfunction buildBrowserToolCallingMessages(input: ToolCallingTaskInput): Array<{\n role: string;\n content: string;\n}> {\n const messages: Array<{ role: string; content: string }> = [];\n if (input.systemPrompt) {\n messages.push({ role: \"system\", content: input.systemPrompt as string });\n }\n messages.push({ role: \"user\", content: input.prompt as string });\n return messages;\n}\n\nexport const Ollama_TextGeneration = createOllamaTextGeneration(getClient);\nexport const Ollama_TextEmbedding = createOllamaTextEmbedding(getClient);\nexport const Ollama_TextRewriter = createOllamaTextRewriter(getClient);\nexport const Ollama_TextSummary = createOllamaTextSummary(getClient);\n\nexport const Ollama_TextGeneration_Stream = createOllamaTextGenerationStream(getClient);\nexport const Ollama_TextRewriter_Stream = createOllamaTextRewriterStream(getClient);\nexport const Ollama_TextSummary_Stream = createOllamaTextSummaryStream(getClient);\n\nexport const Ollama_ToolCalling = createOllamaToolCalling(\n getClient,\n buildBrowserToolCallingMessages\n);\nexport const Ollama_ToolCalling_Stream = createOllamaToolCallingStream(\n getClient,\n buildBrowserToolCallingMessages\n);\n\nexport const Ollama_ModelInfo = createOllamaModelInfo(getClient);\nexport const Ollama_ModelSearch = createOllamaModelSearch(getClient);\n\nexport const OLLAMA_TASKS: Record<string, AiProviderRunFn<any, any, OllamaModelConfig>> = {\n ModelInfoTask: Ollama_ModelInfo,\n TextGenerationTask: Ollama_TextGeneration,\n TextEmbeddingTask: Ollama_TextEmbedding,\n TextRewriterTask: Ollama_TextRewriter,\n TextSummaryTask: Ollama_TextSummary,\n ToolCallingTask: Ollama_ToolCalling,\n ModelSearchTask: Ollama_ModelSearch,\n};\n\nexport const OLLAMA_STREAM_TASKS: Record<\n string,\n AiProviderStreamFn<any, any, OllamaModelConfig>\n> = {\n TextGenerationTask: Ollama_TextGeneration_Stream,\n TextRewriterTask: Ollama_TextRewriter_Stream,\n TextSummaryTask: Ollama_TextSummary_Stream,\n ToolCallingTask: Ollama_ToolCalling_Stream,\n};\n",
16
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n QueuedAiProvider,\n type AiProviderReactiveRunFn,\n type AiProviderRunFn,\n type AiProviderStreamFn,\n} from \"@workglow/ai\";\nimport { OLLAMA } from \"./common/Ollama_Constants\";\nimport type { OllamaModelConfig } from \"./common/Ollama_ModelSchema\";\n\n/** Main-thread registration (inline or worker-backed); creates the default job queue. */\nexport class OllamaQueuedProvider extends QueuedAiProvider<OllamaModelConfig> {\n readonly name = OLLAMA;\n readonly displayName = \"Ollama\";\n readonly isLocal = true;\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, OllamaModelConfig>>,\n streamTasks?: Record<string, AiProviderStreamFn<any, any, OllamaModelConfig>>,\n reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, OllamaModelConfig>>\n ) {\n super(tasks, streamTasks, reactiveTasks);\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 AiProviderStreamFn,\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n} from \"@workglow/ai\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\nimport type { OllamaModelConfig } from \"./Ollama_ModelSchema\";\nimport { getOllamaModelName } from \"./Ollama_ModelUtil\";\n\ntype GetClient = (model: OllamaModelConfig | undefined) => Promise<any>;\n\nexport function createOllamaTextGeneration(\n getClient: GetClient\n): AiProviderRunFn<TextGenerationTaskInput, TextGenerationTaskOutput, OllamaModelConfig> {\n const run: AiProviderRunFn<\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n OllamaModelConfig\n > = async (input, model, update_progress, _signal) => {\n update_progress(0, \"Starting Ollama text generation\");\n const client = await getClient(model);\n const modelName = getOllamaModelName(model);\n\n const response = await client.chat({\n model: modelName,\n messages: [{ role: \"user\", content: input.prompt }],\n options: {\n temperature: input.temperature,\n top_p: input.topP,\n num_predict: input.maxTokens,\n frequency_penalty: input.frequencyPenalty,\n presence_penalty: input.presencePenalty,\n },\n });\n\n update_progress(100, \"Completed Ollama text generation\");\n return { text: response.message.content };\n };\n return run;\n}\n\nexport function createOllamaTextGenerationStream(\n getClient: GetClient\n): AiProviderStreamFn<TextGenerationTaskInput, TextGenerationTaskOutput, OllamaModelConfig> {\n return async function* (\n input,\n model,\n signal\n ): AsyncIterable<StreamEvent<TextGenerationTaskOutput>> {\n const client = await getClient(model);\n const modelName = getOllamaModelName(model);\n\n const stream = await client.chat({\n model: modelName,\n messages: [{ role: \"user\", content: input.prompt }],\n options: {\n temperature: input.temperature,\n top_p: input.topP,\n num_predict: input.maxTokens,\n frequency_penalty: input.frequencyPenalty,\n presence_penalty: input.presencePenalty,\n },\n stream: true,\n });\n\n const onAbort = () => stream.abort();\n signal.addEventListener(\"abort\", onAbort, { once: true });\n try {\n for await (const chunk of stream) {\n const delta = chunk.message.content;\n if (delta) {\n yield { type: \"text-delta\", port: \"text\", textDelta: delta };\n }\n }\n yield { type: \"finish\", data: {} as TextGenerationTaskOutput };\n } finally {\n signal.removeEventListener(\"abort\", onAbort);\n }\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 AiProviderStreamFn,\n TextRewriterTaskInput,\n TextRewriterTaskOutput,\n} from \"@workglow/ai\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\nimport type { OllamaModelConfig } from \"./Ollama_ModelSchema\";\nimport { getOllamaModelName } from \"./Ollama_ModelUtil\";\n\ntype GetClient = (model: OllamaModelConfig | undefined) => Promise<any>;\n\nexport function createOllamaTextRewriter(\n getClient: GetClient\n): AiProviderRunFn<TextRewriterTaskInput, TextRewriterTaskOutput, OllamaModelConfig> {\n const run: AiProviderRunFn<\n TextRewriterTaskInput,\n TextRewriterTaskOutput,\n OllamaModelConfig\n > = async (input, model, update_progress, _signal) => {\n update_progress(0, \"Starting Ollama text rewriting\");\n const client = await getClient(model);\n const modelName = getOllamaModelName(model);\n\n const response = await client.chat({\n model: modelName,\n messages: [\n { role: \"system\", content: input.prompt },\n { role: \"user\", content: input.text },\n ],\n });\n\n update_progress(100, \"Completed Ollama text rewriting\");\n return { text: response.message.content };\n };\n return run;\n}\n\nexport function createOllamaTextRewriterStream(\n getClient: GetClient\n): AiProviderStreamFn<TextRewriterTaskInput, TextRewriterTaskOutput, OllamaModelConfig> {\n return async function* (\n input,\n model,\n signal\n ): AsyncIterable<StreamEvent<TextRewriterTaskOutput>> {\n const client = await getClient(model);\n const modelName = getOllamaModelName(model);\n\n const stream = await client.chat({\n model: modelName,\n messages: [\n { role: \"system\", content: input.prompt },\n { role: \"user\", content: input.text },\n ],\n stream: true,\n });\n\n const onAbort = () => stream.abort();\n signal.addEventListener(\"abort\", onAbort, { once: true });\n try {\n for await (const chunk of stream) {\n const delta = chunk.message.content;\n if (delta) {\n yield { type: \"text-delta\", port: \"text\", textDelta: delta };\n }\n }\n yield { type: \"finish\", data: {} as TextRewriterTaskOutput };\n } finally {\n signal.removeEventListener(\"abort\", onAbort);\n }\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 AiProviderStreamFn,\n TextSummaryTaskInput,\n TextSummaryTaskOutput,\n} from \"@workglow/ai\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\nimport type { OllamaModelConfig } from \"./Ollama_ModelSchema\";\nimport { getOllamaModelName } from \"./Ollama_ModelUtil\";\n\ntype GetClient = (model: OllamaModelConfig | undefined) => Promise<any>;\n\nexport function createOllamaTextSummary(\n getClient: GetClient\n): AiProviderRunFn<TextSummaryTaskInput, TextSummaryTaskOutput, OllamaModelConfig> {\n const run: AiProviderRunFn<\n TextSummaryTaskInput,\n TextSummaryTaskOutput,\n OllamaModelConfig\n > = async (input, model, update_progress, _signal) => {\n update_progress(0, \"Starting Ollama text summarization\");\n const client = await getClient(model);\n const modelName = getOllamaModelName(model);\n\n const response = await client.chat({\n model: modelName,\n messages: [\n { role: \"system\", content: \"Summarize the following text concisely.\" },\n { role: \"user\", content: input.text },\n ],\n });\n\n update_progress(100, \"Completed Ollama text summarization\");\n return { text: response.message.content };\n };\n return run;\n}\n\nexport function createOllamaTextSummaryStream(\n getClient: GetClient\n): AiProviderStreamFn<TextSummaryTaskInput, TextSummaryTaskOutput, OllamaModelConfig> {\n return async function* (input, model, signal): AsyncIterable<StreamEvent<TextSummaryTaskOutput>> {\n const client = await getClient(model);\n const modelName = getOllamaModelName(model);\n\n const stream = await client.chat({\n model: modelName,\n messages: [\n { role: \"system\", content: \"Summarize the following text concisely.\" },\n { role: \"user\", content: input.text },\n ],\n stream: true,\n });\n\n const onAbort = () => stream.abort();\n signal.addEventListener(\"abort\", onAbort, { once: true });\n try {\n for await (const chunk of stream) {\n const delta = chunk.message.content;\n if (delta) {\n yield { type: \"text-delta\", port: \"text\", textDelta: delta };\n }\n }\n yield { type: \"finish\", data: {} as TextSummaryTaskOutput };\n } finally {\n signal.removeEventListener(\"abort\", onAbort);\n }\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 { AiProviderRunFn, AiProviderStreamFn } from \"@workglow/ai\";\nimport { getClient } from \"./Ollama_Client.browser\";\nimport { createOllamaModelInfo } from \"./Ollama_ModelInfo\";\nimport type { OllamaModelConfig } from \"./Ollama_ModelSchema\";\nimport { createOllamaModelSearch } from \"./Ollama_ModelSearch\";\nimport { createOllamaTextEmbedding } from \"./Ollama_TextEmbedding\";\nimport {\n createOllamaTextGeneration,\n createOllamaTextGenerationStream,\n} from \"./Ollama_TextGeneration\";\nimport { createOllamaTextRewriter, createOllamaTextRewriterStream } from \"./Ollama_TextRewriter\";\nimport { createOllamaTextSummary, createOllamaTextSummaryStream } from \"./Ollama_TextSummary\";\nexport { getClient, getModelName, loadOllamaSDK } from \"./Ollama_Client.browser\";\n\nexport const Ollama_TextGeneration = createOllamaTextGeneration(getClient);\nexport const Ollama_TextEmbedding = createOllamaTextEmbedding(getClient);\nexport const Ollama_TextRewriter = createOllamaTextRewriter(getClient);\nexport const Ollama_TextSummary = createOllamaTextSummary(getClient);\n\nexport const Ollama_TextGeneration_Stream = createOllamaTextGenerationStream(getClient);\nexport const Ollama_TextRewriter_Stream = createOllamaTextRewriterStream(getClient);\nexport const Ollama_TextSummary_Stream = createOllamaTextSummaryStream(getClient);\n\nexport const Ollama_ModelInfo = createOllamaModelInfo(getClient);\nexport const Ollama_ModelSearch = createOllamaModelSearch(getClient);\n\nexport const OLLAMA_TASKS: Record<string, AiProviderRunFn<any, any, OllamaModelConfig>> = {\n ModelInfoTask: Ollama_ModelInfo,\n TextGenerationTask: Ollama_TextGeneration,\n TextEmbeddingTask: Ollama_TextEmbedding,\n TextRewriterTask: Ollama_TextRewriter,\n TextSummaryTask: Ollama_TextSummary,\n ModelSearchTask: Ollama_ModelSearch,\n};\n\nexport const OLLAMA_STREAM_TASKS: Record<\n string,\n AiProviderStreamFn<any, any, OllamaModelConfig>\n> = {\n TextGenerationTask: Ollama_TextGeneration_Stream,\n TextRewriterTask: Ollama_TextRewriter_Stream,\n TextSummaryTask: Ollama_TextSummary_Stream,\n};\n",
16
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n AiProvider,\n type AiProviderReactiveRunFn,\n type AiProviderRunFn,\n type AiProviderStreamFn,\n} from \"@workglow/ai\";\nimport { OLLAMA } from \"./common/Ollama_Constants\";\nimport type { OllamaModelConfig } from \"./common/Ollama_ModelSchema\";\n\n/** Main-thread registration (inline or worker-backed). No queue uses direct execution. */\nexport class OllamaQueuedProvider extends AiProvider<OllamaModelConfig> {\n readonly name = OLLAMA;\n readonly displayName = \"Ollama\";\n readonly isLocal = true;\n readonly supportsBrowser = true;\n\n readonly taskTypes = [\n \"ModelInfoTask\",\n \"TextGenerationTask\",\n \"TextEmbeddingTask\",\n \"TextRewriterTask\",\n \"TextSummaryTask\",\n \"ModelSearchTask\",\n ] as const;\n\n constructor(\n tasks?: Record<string, AiProviderRunFn<any, any, OllamaModelConfig>>,\n streamTasks?: Record<string, AiProviderStreamFn<any, any, OllamaModelConfig>>,\n reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, OllamaModelConfig>>\n ) {\n super(tasks, streamTasks, reactiveTasks);\n }\n}\n",
17
17
  "/**\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 { OLLAMA_STREAM_TASKS, OLLAMA_TASKS } from \"./common/Ollama_JobRunFns.browser\";\nimport { OllamaQueuedProvider } from \"./OllamaQueuedProvider\";\n\nexport async function registerOllamaInline(options?: AiProviderRegisterOptions): Promise<void> {\n await new OllamaQueuedProvider(OLLAMA_TASKS, OLLAMA_STREAM_TASKS).register(options ?? {});\n}\n",
18
18
  "/**\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 { OLLAMA_STREAM_TASKS, OLLAMA_TASKS } from \"./common/Ollama_JobRunFns.browser\";\nimport { OllamaProvider } from \"./OllamaProvider\";\n\nexport async function registerOllamaWorker(): Promise<void> {\n const workerServer = globalServiceRegistry.get(WORKER_SERVER);\n new OllamaProvider(OLLAMA_TASKS, OLLAMA_STREAM_TASKS).registerOnWorkerServer(workerServer);\n workerServer.sendReady();\n getLogger().info(\"Ollama worker job run functions registered\");\n}\n",
19
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n AiProvider,\n type AiProviderReactiveRunFn,\n type AiProviderRunFn,\n type AiProviderStreamFn,\n} from \"@workglow/ai/worker\";\nimport { OLLAMA } from \"./common/Ollama_Constants\";\nimport type { OllamaModelConfig } from \"./common/Ollama_ModelSchema\";\n\n/**\n * AI provider for Ollama local LLM server.\n *\n * Supports text generation, text embedding, text rewriting, and text summarization\n * via the Ollama API using the `ollama` SDK.\n *\n * Ollama runs locally and does not require an API key -- only a `base_url`\n * (defaults to `http://localhost:11434`).\n *\n * Task run functions are injected via the constructor so that the `ollama` SDK\n * is only imported where actually needed (inline mode, worker server), not on\n * the main thread in worker mode.\n */\nexport class OllamaProvider extends AiProvider<OllamaModelConfig> {\n readonly name = OLLAMA;\n readonly displayName = \"Ollama\";\n readonly isLocal = true;\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, OllamaModelConfig>>,\n streamTasks?: Record<string, AiProviderStreamFn<any, any, OllamaModelConfig>>,\n reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, OllamaModelConfig>>\n ) {\n super(tasks, streamTasks, reactiveTasks);\n }\n}\n"
19
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n AiProvider,\n type AiProviderReactiveRunFn,\n type AiProviderRunFn,\n type AiProviderStreamFn,\n} from \"@workglow/ai/worker\";\nimport { OLLAMA } from \"./common/Ollama_Constants\";\nimport type { OllamaModelConfig } from \"./common/Ollama_ModelSchema\";\n\n/**\n * AI provider for Ollama local LLM server.\n *\n * Supports text generation, text embedding, text rewriting, and text summarization\n * via the Ollama API using the `ollama` SDK.\n *\n * Ollama runs locally and does not require an API key -- only a `base_url`\n * (defaults to `http://localhost:11434`).\n *\n * Task run functions are injected via the constructor so that the `ollama` SDK\n * is only imported where actually needed (inline mode, worker server), not on\n * the main thread in worker mode.\n */\nexport class OllamaProvider extends AiProvider<OllamaModelConfig> {\n readonly name = OLLAMA;\n readonly displayName = \"Ollama\";\n readonly isLocal = true;\n readonly supportsBrowser = true;\n\n readonly taskTypes = [\n \"ModelInfoTask\",\n \"TextGenerationTask\",\n \"TextEmbeddingTask\",\n \"TextRewriterTask\",\n \"TextSummaryTask\",\n \"ModelSearchTask\",\n ] as const;\n\n constructor(\n tasks?: Record<string, AiProviderRunFn<any, any, OllamaModelConfig>>,\n streamTasks?: Record<string, AiProviderStreamFn<any, any, OllamaModelConfig>>,\n reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, OllamaModelConfig>>\n ) {\n super(tasks, streamTasks, reactiveTasks);\n }\n}\n"
20
20
  ],
21
- "mappings": "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",
22
- "debugId": "5D6A161692C2E3E364756E2164756E21",
21
+ "mappings": "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",
22
+ "debugId": "6912A4E1147FEC9A64756E2164756E21",
23
23
  "names": []
24
24
  }
@@ -53,9 +53,6 @@ async function getClient(model) {
53
53
  return new Ollama({ host });
54
54
  }
55
55
  var getModelName = getOllamaModelName;
56
- // src/provider-ollama/common/Ollama_JobRunFns.ts
57
- import { toTextFlatMessages } from "@workglow/ai/worker";
58
-
59
56
  // src/provider-ollama/common/Ollama_ModelInfo.ts
60
57
  function createOllamaModelInfo(getClient2) {
61
58
  return async (input, model) => {
@@ -89,9 +86,27 @@ function createOllamaModelInfo(getClient2) {
89
86
  };
90
87
  }
91
88
 
89
+ // src/common/modelSearchQuery.ts
90
+ function normalizedModelSearchQuery(query) {
91
+ const t = query?.trim();
92
+ return t ? t.toLowerCase() : undefined;
93
+ }
94
+ function filterLabeledModelsByQuery(models, query) {
95
+ const q = normalizedModelSearchQuery(query);
96
+ if (!q)
97
+ return [...models];
98
+ return models.filter((m) => m.value.toLowerCase().includes(q) || m.label.toLowerCase().includes(q));
99
+ }
100
+ function filterModelSearchResultsByQuery(results, query) {
101
+ const q = normalizedModelSearchQuery(query);
102
+ if (!q)
103
+ return results;
104
+ return results.filter((m) => m.id.toLowerCase().includes(q) || m.label.toLowerCase().includes(q) || m.description.toLowerCase().includes(q));
105
+ }
106
+
92
107
  // src/provider-ollama/common/Ollama_ModelSearch.ts
93
108
  function createOllamaModelSearch(getClient2) {
94
- return async () => {
109
+ return async (input) => {
95
110
  try {
96
111
  const client = await getClient2(undefined);
97
112
  const response = await client.list();
@@ -110,7 +125,7 @@ function createOllamaModelSearch(getClient2) {
110
125
  },
111
126
  raw: m
112
127
  }));
113
- return { results };
128
+ return { results: filterModelSearchResultsByQuery(results, input.query) };
114
129
  } catch {
115
130
  return { results: [] };
116
131
  }
@@ -139,19 +154,8 @@ function createOllamaTextEmbedding(getClient2) {
139
154
  }
140
155
 
141
156
  // src/provider-ollama/common/Ollama_TextGeneration.ts
142
- import { getLogger } from "@workglow/util/worker";
143
157
  function createOllamaTextGeneration(getClient2) {
144
158
  const run = async (input, model, update_progress, _signal) => {
145
- if (Array.isArray(input.prompt)) {
146
- getLogger().warn("Ollama_TextGeneration: array input received; processing sequentially (no native batch support)");
147
- const prompts = input.prompt;
148
- const results = [];
149
- for (const item of prompts) {
150
- const r = await run({ ...input, prompt: item }, model, update_progress, _signal);
151
- results.push(r.text);
152
- }
153
- return { text: results };
154
- }
155
159
  update_progress(0, "Starting Ollama text generation");
156
160
  const client = await getClient2(model);
157
161
  const modelName = getOllamaModelName(model);
@@ -204,19 +208,8 @@ function createOllamaTextGenerationStream(getClient2) {
204
208
  }
205
209
 
206
210
  // src/provider-ollama/common/Ollama_TextRewriter.ts
207
- import { getLogger as getLogger2 } from "@workglow/util/worker";
208
211
  function createOllamaTextRewriter(getClient2) {
209
212
  const run = async (input, model, update_progress, _signal) => {
210
- if (Array.isArray(input.text)) {
211
- getLogger2().warn("Ollama_TextRewriter: array input received; processing sequentially (no native batch support)");
212
- const texts = input.text;
213
- const results = [];
214
- for (const item of texts) {
215
- const r = await run({ ...input, text: item }, model, update_progress, _signal);
216
- results.push(r.text);
217
- }
218
- return { text: results };
219
- }
220
213
  update_progress(0, "Starting Ollama text rewriting");
221
214
  const client = await getClient2(model);
222
215
  const modelName = getOllamaModelName(model);
@@ -261,19 +254,8 @@ function createOllamaTextRewriterStream(getClient2) {
261
254
  }
262
255
 
263
256
  // src/provider-ollama/common/Ollama_TextSummary.ts
264
- import { getLogger as getLogger3 } from "@workglow/util/worker";
265
257
  function createOllamaTextSummary(getClient2) {
266
258
  const run = async (input, model, update_progress, _signal) => {
267
- if (Array.isArray(input.text)) {
268
- getLogger3().warn("Ollama_TextSummary: array input received; processing sequentially (no native batch support)");
269
- const texts = input.text;
270
- const results = [];
271
- for (const item of texts) {
272
- const r = await run({ ...input, text: item }, model, update_progress, _signal);
273
- results.push(r.text);
274
- }
275
- return { text: results };
276
- }
277
259
  update_progress(0, "Starting Ollama text summarization");
278
260
  const client = await getClient2(model);
279
261
  const modelName = getOllamaModelName(model);
@@ -317,130 +299,6 @@ function createOllamaTextSummaryStream(getClient2) {
317
299
  };
318
300
  }
319
301
 
320
- // src/provider-ollama/common/Ollama_ToolCalling.ts
321
- import { buildToolDescription, filterValidToolCalls } from "@workglow/ai/worker";
322
- import { getLogger as getLogger4, parsePartialJson } from "@workglow/util/worker";
323
- function mapOllamaTools(tools) {
324
- return tools.map((t) => ({
325
- type: "function",
326
- function: {
327
- name: t.name,
328
- description: buildToolDescription(t),
329
- parameters: t.inputSchema
330
- }
331
- }));
332
- }
333
- function createOllamaToolCalling(getClient2, buildMessages) {
334
- const run = async (input, model, update_progress, _signal) => {
335
- if (Array.isArray(input.prompt)) {
336
- getLogger4().warn("Ollama_ToolCalling: array input received; processing sequentially (no native batch support)");
337
- const prompts = input.prompt;
338
- const texts = [];
339
- const toolCallsList = [];
340
- for (const item of prompts) {
341
- const r = await run({ ...input, prompt: item }, model, update_progress, _signal);
342
- texts.push(r.text);
343
- toolCallsList.push(r.toolCalls);
344
- }
345
- return { text: texts, toolCalls: toolCallsList };
346
- }
347
- update_progress(0, "Starting Ollama tool calling");
348
- const client = await getClient2(model);
349
- const modelName = getOllamaModelName(model);
350
- const messages = buildMessages(input);
351
- const tools = input.toolChoice === "none" ? undefined : mapOllamaTools(input.tools);
352
- const response = await client.chat({
353
- model: modelName,
354
- messages,
355
- tools,
356
- options: {
357
- temperature: input.temperature,
358
- num_predict: input.maxTokens
359
- }
360
- });
361
- const text = response.message.content ?? "";
362
- const toolCalls = [];
363
- (response.message.tool_calls ?? []).forEach((tc, index) => {
364
- let parsedInput = {};
365
- const fnArgs = tc.function.arguments;
366
- if (typeof fnArgs === "string") {
367
- try {
368
- parsedInput = JSON.parse(fnArgs);
369
- } catch {
370
- const partial = parsePartialJson(fnArgs);
371
- parsedInput = partial ?? {};
372
- }
373
- } else if (fnArgs != null) {
374
- parsedInput = fnArgs;
375
- }
376
- const id = `call_${index}`;
377
- toolCalls.push({ id, name: tc.function.name, input: parsedInput });
378
- });
379
- update_progress(100, "Completed Ollama tool calling");
380
- return { text, toolCalls: filterValidToolCalls(toolCalls, input.tools) };
381
- };
382
- return run;
383
- }
384
- function createOllamaToolCallingStream(getClient2, buildMessages) {
385
- return async function* (input, model, signal) {
386
- const client = await getClient2(model);
387
- const modelName = getOllamaModelName(model);
388
- const messages = buildMessages(input);
389
- const tools = input.toolChoice === "none" ? undefined : mapOllamaTools(input.tools);
390
- const stream = await client.chat({
391
- model: modelName,
392
- messages,
393
- tools,
394
- options: {
395
- temperature: input.temperature,
396
- num_predict: input.maxTokens
397
- },
398
- stream: true
399
- });
400
- const onAbort = () => stream.abort();
401
- signal.addEventListener("abort", onAbort, { once: true });
402
- let accumulatedText = "";
403
- const toolCalls = [];
404
- let callIndex = 0;
405
- try {
406
- for await (const chunk of stream) {
407
- const delta = chunk.message.content;
408
- if (delta) {
409
- accumulatedText += delta;
410
- yield { type: "text-delta", port: "text", textDelta: delta };
411
- }
412
- const chunkToolCalls = chunk.message.tool_calls;
413
- if (Array.isArray(chunkToolCalls) && chunkToolCalls.length > 0) {
414
- for (const tc of chunkToolCalls) {
415
- let parsedInput = {};
416
- const fnArgs = tc.function.arguments;
417
- if (typeof fnArgs === "string") {
418
- try {
419
- parsedInput = JSON.parse(fnArgs);
420
- } catch {
421
- const partial = parsePartialJson(fnArgs);
422
- parsedInput = partial ?? {};
423
- }
424
- } else if (fnArgs != null) {
425
- parsedInput = fnArgs;
426
- }
427
- const id = `call_${callIndex++}`;
428
- toolCalls.push({ id, name: tc.function.name, input: parsedInput });
429
- }
430
- yield { type: "object-delta", port: "toolCalls", objectDelta: [...toolCalls] };
431
- }
432
- }
433
- const validToolCalls = filterValidToolCalls(toolCalls, input.tools);
434
- yield {
435
- type: "finish",
436
- data: { text: accumulatedText, toolCalls: validToolCalls }
437
- };
438
- } finally {
439
- signal.removeEventListener("abort", onAbort);
440
- }
441
- };
442
- }
443
-
444
302
  // src/provider-ollama/common/Ollama_JobRunFns.ts
445
303
  var Ollama_TextGeneration = createOllamaTextGeneration(getClient);
446
304
  var Ollama_TextEmbedding = createOllamaTextEmbedding(getClient);
@@ -449,8 +307,6 @@ var Ollama_TextSummary = createOllamaTextSummary(getClient);
449
307
  var Ollama_TextGeneration_Stream = createOllamaTextGenerationStream(getClient);
450
308
  var Ollama_TextRewriter_Stream = createOllamaTextRewriterStream(getClient);
451
309
  var Ollama_TextSummary_Stream = createOllamaTextSummaryStream(getClient);
452
- var Ollama_ToolCalling = createOllamaToolCalling(getClient, toTextFlatMessages);
453
- var Ollama_ToolCalling_Stream = createOllamaToolCallingStream(getClient, toTextFlatMessages);
454
310
  var Ollama_ModelInfo = createOllamaModelInfo(getClient);
455
311
  var Ollama_ModelSearch = createOllamaModelSearch(getClient);
456
312
  var OLLAMA_TASKS = {
@@ -459,21 +315,19 @@ var OLLAMA_TASKS = {
459
315
  TextEmbeddingTask: Ollama_TextEmbedding,
460
316
  TextRewriterTask: Ollama_TextRewriter,
461
317
  TextSummaryTask: Ollama_TextSummary,
462
- ToolCallingTask: Ollama_ToolCalling,
463
318
  ModelSearchTask: Ollama_ModelSearch
464
319
  };
465
320
  var OLLAMA_STREAM_TASKS = {
466
321
  TextGenerationTask: Ollama_TextGeneration_Stream,
467
322
  TextRewriterTask: Ollama_TextRewriter_Stream,
468
- TextSummaryTask: Ollama_TextSummary_Stream,
469
- ToolCallingTask: Ollama_ToolCalling_Stream
323
+ TextSummaryTask: Ollama_TextSummary_Stream
470
324
  };
471
325
 
472
326
  // src/provider-ollama/OllamaQueuedProvider.ts
473
327
  import {
474
- QueuedAiProvider
328
+ AiProvider
475
329
  } from "@workglow/ai";
476
- class OllamaQueuedProvider extends QueuedAiProvider {
330
+ class OllamaQueuedProvider extends AiProvider {
477
331
  name = OLLAMA;
478
332
  displayName = "Ollama";
479
333
  isLocal = true;
@@ -484,7 +338,6 @@ class OllamaQueuedProvider extends QueuedAiProvider {
484
338
  "TextEmbeddingTask",
485
339
  "TextRewriterTask",
486
340
  "TextSummaryTask",
487
- "ToolCallingTask",
488
341
  "ModelSearchTask"
489
342
  ];
490
343
  constructor(tasks, streamTasks, reactiveTasks) {
@@ -497,13 +350,13 @@ async function registerOllamaInline(options) {
497
350
  await new OllamaQueuedProvider(OLLAMA_TASKS, OLLAMA_STREAM_TASKS).register(options ?? {});
498
351
  }
499
352
  // src/provider-ollama/registerOllamaWorker.ts
500
- import { getLogger as getLogger5, globalServiceRegistry, WORKER_SERVER } from "@workglow/util/worker";
353
+ import { getLogger, globalServiceRegistry, WORKER_SERVER } from "@workglow/util/worker";
501
354
 
502
355
  // src/provider-ollama/OllamaProvider.ts
503
356
  import {
504
- AiProvider
357
+ AiProvider as AiProvider2
505
358
  } from "@workglow/ai/worker";
506
- class OllamaProvider extends AiProvider {
359
+ class OllamaProvider extends AiProvider2 {
507
360
  name = OLLAMA;
508
361
  displayName = "Ollama";
509
362
  isLocal = true;
@@ -514,7 +367,6 @@ class OllamaProvider extends AiProvider {
514
367
  "TextEmbeddingTask",
515
368
  "TextRewriterTask",
516
369
  "TextSummaryTask",
517
- "ToolCallingTask",
518
370
  "ModelSearchTask"
519
371
  ];
520
372
  constructor(tasks, streamTasks, reactiveTasks) {
@@ -527,7 +379,7 @@ async function registerOllamaWorker() {
527
379
  const workerServer = globalServiceRegistry.get(WORKER_SERVER);
528
380
  new OllamaProvider(OLLAMA_TASKS, OLLAMA_STREAM_TASKS).registerOnWorkerServer(workerServer);
529
381
  workerServer.sendReady();
530
- getLogger5().info("Ollama worker job run functions registered");
382
+ getLogger().info("Ollama worker job run functions registered");
531
383
  }
532
384
  export {
533
385
  registerOllamaWorker,
@@ -537,4 +389,4 @@ export {
537
389
  getClient
538
390
  };
539
391
 
540
- //# debugId=2E6244F5F09D494864756E2164756E21
392
+ //# debugId=4E9FAAF9646B7E0164756E2164756E21