@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.
Files changed (149) hide show
  1. package/dist/common/ToolCallParsers.d.ts +253 -0
  2. package/dist/common/ToolCallParsers.d.ts.map +1 -0
  3. package/dist/provider-anthropic/AnthropicProvider.d.ts +3 -2
  4. package/dist/provider-anthropic/AnthropicProvider.d.ts.map +1 -1
  5. package/dist/provider-anthropic/AnthropicQueuedProvider.d.ts +3 -2
  6. package/dist/provider-anthropic/AnthropicQueuedProvider.d.ts.map +1 -1
  7. package/dist/provider-anthropic/common/Anthropic_Client.d.ts.map +1 -1
  8. package/dist/provider-anthropic/common/Anthropic_JobRunFns.d.ts.map +1 -1
  9. package/dist/provider-anthropic/common/Anthropic_ModelSchema.d.ts.map +1 -1
  10. package/dist/provider-anthropic/common/Anthropic_ToolCalling.d.ts +10 -0
  11. package/dist/provider-anthropic/common/Anthropic_ToolCalling.d.ts.map +1 -0
  12. package/dist/provider-anthropic/index.js +3 -4
  13. package/dist/provider-anthropic/index.js.map +3 -3
  14. package/dist/provider-anthropic/runtime.js +225 -8
  15. package/dist/provider-anthropic/runtime.js.map +9 -8
  16. package/dist/provider-chrome/WebBrowserProvider.d.ts +2 -1
  17. package/dist/provider-chrome/WebBrowserProvider.d.ts.map +1 -1
  18. package/dist/provider-chrome/WebBrowserQueuedProvider.d.ts +2 -1
  19. package/dist/provider-chrome/WebBrowserQueuedProvider.d.ts.map +1 -1
  20. package/dist/provider-chrome/common/WebBrowser_Constants.d.ts.map +1 -1
  21. package/dist/provider-chrome/common/WebBrowser_ModelSchema.d.ts.map +1 -1
  22. package/dist/provider-chrome/index.js +2 -4
  23. package/dist/provider-chrome/index.js.map +3 -3
  24. package/dist/provider-chrome/runtime.js +3 -7
  25. package/dist/provider-chrome/runtime.js.map +4 -4
  26. package/dist/provider-gemini/GoogleGeminiProvider.d.ts +3 -2
  27. package/dist/provider-gemini/GoogleGeminiProvider.d.ts.map +1 -1
  28. package/dist/provider-gemini/GoogleGeminiQueuedProvider.d.ts +3 -2
  29. package/dist/provider-gemini/GoogleGeminiQueuedProvider.d.ts.map +1 -1
  30. package/dist/provider-gemini/common/Gemini_JobRunFns.d.ts.map +1 -1
  31. package/dist/provider-gemini/common/Gemini_ModelSchema.d.ts.map +1 -1
  32. package/dist/provider-gemini/common/Gemini_ToolCalling.d.ts +10 -0
  33. package/dist/provider-gemini/common/Gemini_ToolCalling.d.ts.map +1 -0
  34. package/dist/provider-gemini/index.js +3 -4
  35. package/dist/provider-gemini/index.js.map +3 -3
  36. package/dist/provider-gemini/runtime.js +188 -8
  37. package/dist/provider-gemini/runtime.js.map +7 -6
  38. package/dist/provider-hf-inference/HfInferenceProvider.d.ts +3 -2
  39. package/dist/provider-hf-inference/HfInferenceProvider.d.ts.map +1 -1
  40. package/dist/provider-hf-inference/HfInferenceQueuedProvider.d.ts +3 -2
  41. package/dist/provider-hf-inference/HfInferenceQueuedProvider.d.ts.map +1 -1
  42. package/dist/provider-hf-inference/common/HFI_JobRunFns.d.ts.map +1 -1
  43. package/dist/provider-hf-inference/common/HFI_ModelSchema.d.ts.map +1 -1
  44. package/dist/provider-hf-inference/common/HFI_ToolCalling.d.ts +10 -0
  45. package/dist/provider-hf-inference/common/HFI_ToolCalling.d.ts.map +1 -0
  46. package/dist/provider-hf-inference/index.js +3 -4
  47. package/dist/provider-hf-inference/index.js.map +3 -3
  48. package/dist/provider-hf-inference/runtime.js +157 -8
  49. package/dist/provider-hf-inference/runtime.js.map +7 -6
  50. package/dist/provider-hf-transformers/HuggingFaceTransformersProvider.d.ts +3 -2
  51. package/dist/provider-hf-transformers/HuggingFaceTransformersProvider.d.ts.map +1 -1
  52. package/dist/provider-hf-transformers/HuggingFaceTransformersQueuedProvider.d.ts +3 -3
  53. package/dist/provider-hf-transformers/HuggingFaceTransformersQueuedProvider.d.ts.map +1 -1
  54. package/dist/provider-hf-transformers/common/HFT_Constants.d.ts.map +1 -1
  55. package/dist/provider-hf-transformers/common/HFT_JobRunFns.d.ts +52 -0
  56. package/dist/provider-hf-transformers/common/HFT_JobRunFns.d.ts.map +1 -1
  57. package/dist/provider-hf-transformers/common/HFT_ModelSchema.d.ts.map +1 -1
  58. package/dist/provider-hf-transformers/common/HFT_OnnxDtypes.d.ts.map +1 -1
  59. package/dist/provider-hf-transformers/common/HFT_Pipeline.d.ts +1 -1
  60. package/dist/provider-hf-transformers/common/HFT_Pipeline.d.ts.map +1 -1
  61. package/dist/provider-hf-transformers/common/HFT_StructuredGeneration.d.ts.map +1 -1
  62. package/dist/provider-hf-transformers/common/HFT_TextClassification.d.ts.map +1 -1
  63. package/dist/provider-hf-transformers/common/HFT_TextQuestionAnswer.d.ts.map +1 -1
  64. package/dist/provider-hf-transformers/common/HFT_TextSummary.d.ts.map +1 -1
  65. package/dist/provider-hf-transformers/common/HFT_TextTranslation.d.ts.map +1 -1
  66. package/dist/provider-hf-transformers/common/HFT_ToolCalling.d.ts +10 -0
  67. package/dist/provider-hf-transformers/common/HFT_ToolCalling.d.ts.map +1 -0
  68. package/dist/provider-hf-transformers/common/HFT_ToolMarkup.d.ts +20 -0
  69. package/dist/provider-hf-transformers/common/HFT_ToolMarkup.d.ts.map +1 -0
  70. package/dist/provider-hf-transformers/common/HFT_ToolParser.d.ts +67 -0
  71. package/dist/provider-hf-transformers/common/HFT_ToolParser.d.ts.map +1 -0
  72. package/dist/provider-hf-transformers/index.d.ts +1 -0
  73. package/dist/provider-hf-transformers/index.d.ts.map +1 -1
  74. package/dist/provider-hf-transformers/index.js +71 -7
  75. package/dist/provider-hf-transformers/index.js.map +7 -6
  76. package/dist/provider-hf-transformers/runtime.d.ts +1 -0
  77. package/dist/provider-hf-transformers/runtime.d.ts.map +1 -1
  78. package/dist/provider-hf-transformers/runtime.js +1244 -13
  79. package/dist/provider-hf-transformers/runtime.js.map +18 -15
  80. package/dist/provider-llamacpp/LlamaCppProvider.d.ts +3 -2
  81. package/dist/provider-llamacpp/LlamaCppProvider.d.ts.map +1 -1
  82. package/dist/provider-llamacpp/LlamaCppQueuedProvider.d.ts +3 -2
  83. package/dist/provider-llamacpp/LlamaCppQueuedProvider.d.ts.map +1 -1
  84. package/dist/provider-llamacpp/common/LlamaCpp_JobRunFns.d.ts.map +1 -1
  85. package/dist/provider-llamacpp/common/LlamaCpp_ModelSchema.d.ts.map +1 -1
  86. package/dist/provider-llamacpp/common/LlamaCpp_ToolCalling.d.ts +10 -0
  87. package/dist/provider-llamacpp/common/LlamaCpp_ToolCalling.d.ts.map +1 -0
  88. package/dist/provider-llamacpp/common/LlamaCpp_ToolParser.d.ts +35 -0
  89. package/dist/provider-llamacpp/common/LlamaCpp_ToolParser.d.ts.map +1 -0
  90. package/dist/provider-llamacpp/index.js +3 -4
  91. package/dist/provider-llamacpp/index.js.map +3 -3
  92. package/dist/provider-llamacpp/runtime.js +1394 -9
  93. package/dist/provider-llamacpp/runtime.js.map +11 -8
  94. package/dist/provider-ollama/OllamaProvider.d.ts +3 -2
  95. package/dist/provider-ollama/OllamaProvider.d.ts.map +1 -1
  96. package/dist/provider-ollama/OllamaQueuedProvider.d.ts +3 -2
  97. package/dist/provider-ollama/OllamaQueuedProvider.d.ts.map +1 -1
  98. package/dist/provider-ollama/common/Ollama_JobRunFns.browser.d.ts +47 -1
  99. package/dist/provider-ollama/common/Ollama_JobRunFns.browser.d.ts.map +1 -1
  100. package/dist/provider-ollama/common/Ollama_JobRunFns.d.ts +46 -0
  101. package/dist/provider-ollama/common/Ollama_JobRunFns.d.ts.map +1 -1
  102. package/dist/provider-ollama/common/Ollama_ModelSchema.d.ts.map +1 -1
  103. package/dist/provider-ollama/common/Ollama_ToolCalling.d.ts +16 -0
  104. package/dist/provider-ollama/common/Ollama_ToolCalling.d.ts.map +1 -0
  105. package/dist/provider-ollama/index.browser.js +3 -4
  106. package/dist/provider-ollama/index.browser.js.map +3 -3
  107. package/dist/provider-ollama/index.js +3 -4
  108. package/dist/provider-ollama/index.js.map +3 -3
  109. package/dist/provider-ollama/runtime.browser.js +130 -8
  110. package/dist/provider-ollama/runtime.browser.js.map +8 -7
  111. package/dist/provider-ollama/runtime.js +125 -8
  112. package/dist/provider-ollama/runtime.js.map +8 -7
  113. package/dist/provider-openai/OpenAiProvider.d.ts +3 -2
  114. package/dist/provider-openai/OpenAiProvider.d.ts.map +1 -1
  115. package/dist/provider-openai/OpenAiQueuedProvider.d.ts +3 -2
  116. package/dist/provider-openai/OpenAiQueuedProvider.d.ts.map +1 -1
  117. package/dist/provider-openai/common/OpenAI_Client.d.ts.map +1 -1
  118. package/dist/provider-openai/common/OpenAI_JobRunFns.browser.d.ts.map +1 -1
  119. package/dist/provider-openai/common/OpenAI_JobRunFns.d.ts.map +1 -1
  120. package/dist/provider-openai/common/OpenAI_ModelSchema.d.ts.map +1 -1
  121. package/dist/provider-openai/common/OpenAI_ToolCalling.d.ts +10 -0
  122. package/dist/provider-openai/common/OpenAI_ToolCalling.d.ts.map +1 -0
  123. package/dist/provider-openai/index.browser.js +3 -4
  124. package/dist/provider-openai/index.browser.js.map +3 -3
  125. package/dist/provider-openai/index.js +3 -4
  126. package/dist/provider-openai/index.js.map +3 -3
  127. package/dist/provider-openai/runtime.browser.js +138 -8
  128. package/dist/provider-openai/runtime.browser.js.map +8 -7
  129. package/dist/provider-openai/runtime.js +138 -8
  130. package/dist/provider-openai/runtime.js.map +8 -7
  131. package/dist/provider-tf-mediapipe/TensorFlowMediaPipeProvider.d.ts +2 -1
  132. package/dist/provider-tf-mediapipe/TensorFlowMediaPipeProvider.d.ts.map +1 -1
  133. package/dist/provider-tf-mediapipe/TensorFlowMediaPipeQueuedProvider.d.ts +2 -1
  134. package/dist/provider-tf-mediapipe/TensorFlowMediaPipeQueuedProvider.d.ts.map +1 -1
  135. package/dist/provider-tf-mediapipe/common/TFMP_Constants.d.ts.map +1 -1
  136. package/dist/provider-tf-mediapipe/common/TFMP_Download.d.ts.map +1 -1
  137. package/dist/provider-tf-mediapipe/common/TFMP_ImageClassification.d.ts.map +1 -1
  138. package/dist/provider-tf-mediapipe/common/TFMP_JobRunFns.d.ts.map +1 -1
  139. package/dist/provider-tf-mediapipe/common/TFMP_ModelSchema.d.ts.map +1 -1
  140. package/dist/provider-tf-mediapipe/common/TFMP_Runtime.d.ts +3 -16
  141. package/dist/provider-tf-mediapipe/common/TFMP_Runtime.d.ts.map +1 -1
  142. package/dist/provider-tf-mediapipe/index.js.map +2 -2
  143. package/dist/provider-tf-mediapipe/runtime.js +2 -4
  144. package/dist/provider-tf-mediapipe/runtime.js.map +13 -13
  145. package/dist/test.d.ts +7 -0
  146. package/dist/test.d.ts.map +1 -0
  147. package/dist/test.js +913 -0
  148. package/dist/test.js.map +10 -0
  149. package/package.json +24 -17
@@ -1,24 +1,25 @@
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/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"],
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_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"],
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
- "/**\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",
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.size;\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: { name: string }) => 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
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
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",
11
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",
12
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
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
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",
15
+ "/**\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 { 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 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.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",
16
+ "/**\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",
17
+ "/**\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 { 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 \"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",
17
18
  "/**\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
19
  "/**\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 \"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
+ "/**\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 { 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"
20
21
  ],
21
- "mappings": "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",
22
- "debugId": "6912A4E1147FEC9A64756E2164756E21",
22
+ "mappings": "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",
23
+ "debugId": "CBD00AA0D411F2BC64756E2164756E21",
23
24
  "names": []
24
25
  }
@@ -53,6 +53,9 @@ 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
+
56
59
  // src/provider-ollama/common/Ollama_ModelInfo.ts
57
60
  function createOllamaModelInfo(getClient2) {
58
61
  return async (input, model) => {
@@ -299,6 +302,118 @@ function createOllamaTextSummaryStream(getClient2) {
299
302
  };
300
303
  }
301
304
 
305
+ // src/provider-ollama/common/Ollama_ToolCalling.ts
306
+ import { buildToolDescription, filterValidToolCalls } from "@workglow/ai/worker";
307
+ import { parsePartialJson } from "@workglow/util/worker";
308
+ function mapOllamaTools(tools) {
309
+ return tools.map((t) => ({
310
+ type: "function",
311
+ function: {
312
+ name: t.name,
313
+ description: buildToolDescription(t),
314
+ parameters: t.inputSchema
315
+ }
316
+ }));
317
+ }
318
+ function createOllamaToolCalling(getClient2, buildMessages) {
319
+ const run = async (input, model, update_progress, _signal) => {
320
+ update_progress(0, "Starting Ollama tool calling");
321
+ const client = await getClient2(model);
322
+ const modelName = getOllamaModelName(model);
323
+ const messages = buildMessages(input);
324
+ const tools = input.toolChoice === "none" ? undefined : mapOllamaTools(input.tools);
325
+ const response = await client.chat({
326
+ model: modelName,
327
+ messages,
328
+ tools,
329
+ options: {
330
+ temperature: input.temperature,
331
+ num_predict: input.maxTokens
332
+ }
333
+ });
334
+ const text = response.message.content ?? "";
335
+ const toolCalls = [];
336
+ (response.message.tool_calls ?? []).forEach((tc, index) => {
337
+ let parsedInput = {};
338
+ const fnArgs = tc.function.arguments;
339
+ if (typeof fnArgs === "string") {
340
+ try {
341
+ parsedInput = JSON.parse(fnArgs);
342
+ } catch {
343
+ const partial = parsePartialJson(fnArgs);
344
+ parsedInput = partial ?? {};
345
+ }
346
+ } else if (fnArgs != null) {
347
+ parsedInput = fnArgs;
348
+ }
349
+ const id = `call_${index}`;
350
+ toolCalls.push({ id, name: tc.function.name, input: parsedInput });
351
+ });
352
+ update_progress(100, "Completed Ollama tool calling");
353
+ return { text, toolCalls: filterValidToolCalls(toolCalls, input.tools) };
354
+ };
355
+ return run;
356
+ }
357
+ function createOllamaToolCallingStream(getClient2, buildMessages) {
358
+ return async function* (input, model, signal) {
359
+ const client = await getClient2(model);
360
+ const modelName = getOllamaModelName(model);
361
+ const messages = buildMessages(input);
362
+ const tools = input.toolChoice === "none" ? undefined : mapOllamaTools(input.tools);
363
+ const stream = await client.chat({
364
+ model: modelName,
365
+ messages,
366
+ tools,
367
+ options: {
368
+ temperature: input.temperature,
369
+ num_predict: input.maxTokens
370
+ },
371
+ stream: true
372
+ });
373
+ const onAbort = () => stream.abort();
374
+ signal.addEventListener("abort", onAbort, { once: true });
375
+ let accumulatedText = "";
376
+ const toolCalls = [];
377
+ let callIndex = 0;
378
+ try {
379
+ for await (const chunk of stream) {
380
+ const delta = chunk.message.content;
381
+ if (delta) {
382
+ accumulatedText += delta;
383
+ yield { type: "text-delta", port: "text", textDelta: delta };
384
+ }
385
+ const chunkToolCalls = chunk.message.tool_calls;
386
+ if (Array.isArray(chunkToolCalls) && chunkToolCalls.length > 0) {
387
+ for (const tc of chunkToolCalls) {
388
+ let parsedInput = {};
389
+ const fnArgs = tc.function.arguments;
390
+ if (typeof fnArgs === "string") {
391
+ try {
392
+ parsedInput = JSON.parse(fnArgs);
393
+ } catch {
394
+ const partial = parsePartialJson(fnArgs);
395
+ parsedInput = partial ?? {};
396
+ }
397
+ } else if (fnArgs != null) {
398
+ parsedInput = fnArgs;
399
+ }
400
+ const id = `call_${callIndex++}`;
401
+ toolCalls.push({ id, name: tc.function.name, input: parsedInput });
402
+ }
403
+ yield { type: "object-delta", port: "toolCalls", objectDelta: [...toolCalls] };
404
+ }
405
+ }
406
+ const validToolCalls = filterValidToolCalls(toolCalls, input.tools);
407
+ yield {
408
+ type: "finish",
409
+ data: { text: accumulatedText, toolCalls: validToolCalls }
410
+ };
411
+ } finally {
412
+ signal.removeEventListener("abort", onAbort);
413
+ }
414
+ };
415
+ }
416
+
302
417
  // src/provider-ollama/common/Ollama_JobRunFns.ts
303
418
  var Ollama_TextGeneration = createOllamaTextGeneration(getClient);
304
419
  var Ollama_TextEmbedding = createOllamaTextEmbedding(getClient);
@@ -307,6 +422,8 @@ var Ollama_TextSummary = createOllamaTextSummary(getClient);
307
422
  var Ollama_TextGeneration_Stream = createOllamaTextGenerationStream(getClient);
308
423
  var Ollama_TextRewriter_Stream = createOllamaTextRewriterStream(getClient);
309
424
  var Ollama_TextSummary_Stream = createOllamaTextSummaryStream(getClient);
425
+ var Ollama_ToolCalling = createOllamaToolCalling(getClient, toTextFlatMessages);
426
+ var Ollama_ToolCalling_Stream = createOllamaToolCallingStream(getClient, toTextFlatMessages);
310
427
  var Ollama_ModelInfo = createOllamaModelInfo(getClient);
311
428
  var Ollama_ModelSearch = createOllamaModelSearch(getClient);
312
429
  var OLLAMA_TASKS = {
@@ -315,18 +432,18 @@ var OLLAMA_TASKS = {
315
432
  TextEmbeddingTask: Ollama_TextEmbedding,
316
433
  TextRewriterTask: Ollama_TextRewriter,
317
434
  TextSummaryTask: Ollama_TextSummary,
435
+ ToolCallingTask: Ollama_ToolCalling,
318
436
  ModelSearchTask: Ollama_ModelSearch
319
437
  };
320
438
  var OLLAMA_STREAM_TASKS = {
321
439
  TextGenerationTask: Ollama_TextGeneration_Stream,
322
440
  TextRewriterTask: Ollama_TextRewriter_Stream,
323
- TextSummaryTask: Ollama_TextSummary_Stream
441
+ TextSummaryTask: Ollama_TextSummary_Stream,
442
+ ToolCallingTask: Ollama_ToolCalling_Stream
324
443
  };
325
444
 
326
445
  // src/provider-ollama/OllamaQueuedProvider.ts
327
- import {
328
- AiProvider
329
- } from "@workglow/ai";
446
+ import { AiProvider } from "@workglow/ai";
330
447
  class OllamaQueuedProvider extends AiProvider {
331
448
  name = OLLAMA;
332
449
  displayName = "Ollama";
@@ -338,6 +455,7 @@ class OllamaQueuedProvider extends AiProvider {
338
455
  "TextEmbeddingTask",
339
456
  "TextRewriterTask",
340
457
  "TextSummaryTask",
458
+ "ToolCallingTask",
341
459
  "ModelSearchTask"
342
460
  ];
343
461
  constructor(tasks, streamTasks, reactiveTasks) {
@@ -353,9 +471,7 @@ async function registerOllamaInline(options) {
353
471
  import { getLogger, globalServiceRegistry, WORKER_SERVER } from "@workglow/util/worker";
354
472
 
355
473
  // src/provider-ollama/OllamaProvider.ts
356
- import {
357
- AiProvider as AiProvider2
358
- } from "@workglow/ai/worker";
474
+ import { AiProvider as AiProvider2 } from "@workglow/ai/worker";
359
475
  class OllamaProvider extends AiProvider2 {
360
476
  name = OLLAMA;
361
477
  displayName = "Ollama";
@@ -367,6 +483,7 @@ class OllamaProvider extends AiProvider2 {
367
483
  "TextEmbeddingTask",
368
484
  "TextRewriterTask",
369
485
  "TextSummaryTask",
486
+ "ToolCallingTask",
370
487
  "ModelSearchTask"
371
488
  ];
372
489
  constructor(tasks, streamTasks, reactiveTasks) {
@@ -389,4 +506,4 @@ export {
389
506
  getClient
390
507
  };
391
508
 
392
- //# debugId=4E9FAAF9646B7E0164756E2164756E21
509
+ //# debugId=244E1E737F27CEBA64756E2164756E21
@@ -1,24 +1,25 @@
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.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.ts", "../src/provider-ollama/OllamaQueuedProvider.ts", "../src/provider-ollama/registerOllamaInline.ts", "../src/provider-ollama/registerOllamaWorker.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.ts", "../src/provider-ollama/common/Ollama_JobRunFns.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_ToolCalling.ts", "../src/provider-ollama/OllamaQueuedProvider.ts", "../src/provider-ollama/registerOllamaInline.ts", "../src/provider-ollama/registerOllamaWorker.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\");\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
- "/**\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",
8
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { toTextFlatMessages } from \"@workglow/ai/worker\";\nimport type { AiProviderRunFn, AiProviderStreamFn } from \"@workglow/ai/worker\";\nimport type { OllamaModelConfig } from \"./Ollama_ModelSchema\";\nimport { getClient } from \"./Ollama_Client\";\nimport { createOllamaModelInfo } from \"./Ollama_ModelInfo\";\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 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(getClient, toTextFlatMessages);\nexport const Ollama_ToolCalling_Stream = createOllamaToolCallingStream(\n getClient,\n toTextFlatMessages\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",
9
+ "/**\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.size;\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: { name: string }) => 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
10
  "/**\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
11
  "/**\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",
11
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 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",
12
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 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
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 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
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 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/worker\";\nimport type { OllamaModelConfig } from \"./Ollama_ModelSchema\";\nimport { getClient } from \"./Ollama_Client\";\nimport { createOllamaModelInfo } from \"./Ollama_ModelInfo\";\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 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",
16
+ "/**\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 { 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 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.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",
17
+ "/**\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 { 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 \"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",
17
18
  "/**\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\";\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
19
  "/**\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\";\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 \"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
+ "/**\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 { 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"
20
21
  ],
21
- "mappings": "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",
22
- "debugId": "4E9FAAF9646B7E0164756E2164756E21",
22
+ "mappings": "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",
23
+ "debugId": "244E1E737F27CEBA64756E2164756E21",
23
24
  "names": []
24
25
  }
@@ -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, type AiProviderReactiveRunFn, type AiProviderRunFn, type AiProviderStreamFn } from "@workglow/ai/worker";
6
+ import { AiProvider } from "@workglow/ai/worker";
7
+ import type { AiProviderReactiveRunFn, AiProviderRunFn, AiProviderStreamFn } from "@workglow/ai/worker";
7
8
  import type { OpenAiModelConfig } from "./common/OpenAI_ModelSchema";
8
9
  /**
9
10
  * AI provider for OpenAI cloud models.
@@ -20,7 +21,7 @@ export declare class OpenAiProvider extends AiProvider<OpenAiModelConfig> {
20
21
  readonly displayName = "OpenAI";
21
22
  readonly isLocal = false;
22
23
  readonly supportsBrowser = true;
23
- readonly taskTypes: readonly ["TextGenerationTask", "TextEmbeddingTask", "TextRewriterTask", "TextSummaryTask", "CountTokensTask", "ModelInfoTask", "StructuredGenerationTask", "ModelSearchTask"];
24
+ readonly taskTypes: readonly ["TextGenerationTask", "TextEmbeddingTask", "TextRewriterTask", "TextSummaryTask", "CountTokensTask", "ModelInfoTask", "StructuredGenerationTask", "ToolCallingTask", "ModelSearchTask"];
24
25
  constructor(tasks?: Record<string, AiProviderRunFn<any, any, OpenAiModelConfig>>, streamTasks?: Record<string, AiProviderStreamFn<any, any, OpenAiModelConfig>>, reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, OpenAiModelConfig>>);
25
26
  }
26
27
  //# sourceMappingURL=OpenAiProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAiProvider.d.ts","sourceRoot":"","sources":["../../src/provider-openai/OpenAiProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,UAAU,EACV,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACxB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;;;;;;;;GASG;AACH,qBAAa,cAAe,SAAQ,UAAU,CAAC,iBAAiB,CAAC;IAC/D,QAAQ,CAAC,IAAI,YAAU;IACvB,QAAQ,CAAC,WAAW,YAAY;IAChC,QAAQ,CAAC,OAAO,SAAS;IACzB,QAAQ,CAAC,eAAe,QAAQ;IAEhC,QAAQ,CAAC,SAAS,iLASP;IAEX,YACE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC,EACpE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC,EAC7E,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC,EAGrF;CACF"}
1
+ {"version":3,"file":"OpenAiProvider.d.ts","sourceRoot":"","sources":["../../src/provider-openai/OpenAiProvider.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,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;;;;;;;;GASG;AACH,qBAAa,cAAe,SAAQ,UAAU,CAAC,iBAAiB,CAAC;IAC/D,QAAQ,CAAC,IAAI,YAAU;IACvB,QAAQ,CAAC,WAAW,YAAY;IAChC,QAAQ,CAAC,OAAO,SAAS;IACzB,QAAQ,CAAC,eAAe,QAAQ;IAEhC,QAAQ,CAAC,SAAS,YAChB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,0BAA0B,EAC1B,iBAAiB,EACjB,iBAAiB,EACR;IAEX,YACE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC,EACpE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC,EAC7E,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC,EAGrF;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, type AiProviderReactiveRunFn, type AiProviderRunFn, type AiProviderStreamFn } from "@workglow/ai";
6
+ import { AiProvider } from "@workglow/ai";
7
+ import type { AiProviderReactiveRunFn, AiProviderRunFn, AiProviderStreamFn } from "@workglow/ai";
7
8
  import type { OpenAiModelConfig } from "./common/OpenAI_ModelSchema";
8
9
  /** Main-thread registration (inline or worker-backed). No queue — uses direct execution. */
9
10
  export declare class OpenAiQueuedProvider extends AiProvider<OpenAiModelConfig> {
@@ -11,7 +12,7 @@ export declare class OpenAiQueuedProvider extends AiProvider<OpenAiModelConfig>
11
12
  readonly displayName = "OpenAI";
12
13
  readonly isLocal = false;
13
14
  readonly supportsBrowser = true;
14
- readonly taskTypes: readonly ["TextGenerationTask", "TextEmbeddingTask", "TextRewriterTask", "TextSummaryTask", "CountTokensTask", "ModelInfoTask", "StructuredGenerationTask", "ModelSearchTask"];
15
+ readonly taskTypes: readonly ["TextGenerationTask", "TextEmbeddingTask", "TextRewriterTask", "TextSummaryTask", "CountTokensTask", "ModelInfoTask", "StructuredGenerationTask", "ToolCallingTask", "ModelSearchTask"];
15
16
  constructor(tasks?: Record<string, AiProviderRunFn<any, any, OpenAiModelConfig>>, streamTasks?: Record<string, AiProviderStreamFn<any, any, OpenAiModelConfig>>, reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, OpenAiModelConfig>>);
16
17
  }
17
18
  //# sourceMappingURL=OpenAiQueuedProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAiQueuedProvider.d.ts","sourceRoot":"","sources":["../../src/provider-openai/OpenAiQueuedProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,UAAU,EACV,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACxB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE,4FAA4F;AAC5F,qBAAa,oBAAqB,SAAQ,UAAU,CAAC,iBAAiB,CAAC;IACrE,QAAQ,CAAC,IAAI,YAAU;IACvB,QAAQ,CAAC,WAAW,YAAY;IAChC,QAAQ,CAAC,OAAO,SAAS;IACzB,QAAQ,CAAC,eAAe,QAAQ;IAEhC,QAAQ,CAAC,SAAS,iLASP;IAEX,YACE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC,EACpE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC,EAC7E,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC,EAGrF;CACF"}
1
+ {"version":3,"file":"OpenAiQueuedProvider.d.ts","sourceRoot":"","sources":["../../src/provider-openai/OpenAiQueuedProvider.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,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE,4FAA4F;AAC5F,qBAAa,oBAAqB,SAAQ,UAAU,CAAC,iBAAiB,CAAC;IACrE,QAAQ,CAAC,IAAI,YAAU;IACvB,QAAQ,CAAC,WAAW,YAAY;IAChC,QAAQ,CAAC,OAAO,SAAS;IACzB,QAAQ,CAAC,eAAe,QAAQ;IAEhC,QAAQ,CAAC,SAAS,YAChB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,0BAA0B,EAC1B,iBAAiB,EACjB,iBAAiB,EACR;IAEX,YACE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC,EACpE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC,EAC7E,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC,EAGrF;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAI_Client.d.ts","sourceRoot":"","sources":["../../../src/provider-openai/common/OpenAI_Client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAK9D,wBAAsB,aAAa,sCAUlC;AAUD,wBAAsB,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,SAAS,gBA0BnE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,SAAS,GAAG,MAAM,CAMzE"}
1
+ {"version":3,"file":"OpenAI_Client.d.ts","sourceRoot":"","sources":["../../../src/provider-openai/common/OpenAI_Client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAK9D,wBAAsB,aAAa,yBAFH,GAAG,KAAK,GAAG,EAY1C;AAUD,wBAAsB,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,SAAS,gBAyBnE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,SAAS,GAAG,MAAM,CAMzE"}
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAI_JobRunFns.browser.d.ts","sourceRoot":"","sources":["../../../src/provider-openai/common/OpenAI_JobRunFns.browser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACjG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAYzE,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CASrF,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CACtC,MAAM,EACN,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAMhD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CACxC,MAAM,EACN,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAGrD,CAAC"}
1
+ {"version":3,"file":"OpenAI_JobRunFns.browser.d.ts","sourceRoot":"","sources":["../../../src/provider-openai/common/OpenAI_JobRunFns.browser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACjG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAczE,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAUrF,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CACtC,MAAM,EACN,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAOhD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CACxC,MAAM,EACN,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAGrD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAI_JobRunFns.d.ts","sourceRoot":"","sources":["../../../src/provider-openai/common/OpenAI_JobRunFns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACjG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAYzE,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CASrF,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CACtC,MAAM,EACN,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAMhD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CACxC,MAAM,EACN,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAGrD,CAAC"}
1
+ {"version":3,"file":"OpenAI_JobRunFns.d.ts","sourceRoot":"","sources":["../../../src/provider-openai/common/OpenAI_JobRunFns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACjG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAczE,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAUrF,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CACtC,MAAM,EACN,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAOhD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CACxC,MAAM,EACN,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAGrD,CAAC"}