@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 +1 @@
1
- {"version":3,"file":"OllamaQueuedProvider.d.ts","sourceRoot":"","sources":["../../src/provider-ollama/OllamaQueuedProvider.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,QAAQ;IACxB,QAAQ,CAAC,eAAe,QAAQ;IAEhC,QAAQ,CAAC,SAAS,kIAOP;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":"OllamaQueuedProvider.d.ts","sourceRoot":"","sources":["../../src/provider-ollama/OllamaQueuedProvider.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,QAAQ;IACxB,QAAQ,CAAC,eAAe,QAAQ;IAEhC,QAAQ,CAAC,SAAS,YAChB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACR;IAEX,YACE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,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,7 @@
3
3
  * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import type { AiProviderRunFn, AiProviderStreamFn } from "@workglow/ai";
6
+ import type { AiProviderRunFn, AiProviderStreamFn, ToolCallingTaskInput } from "@workglow/ai";
7
7
  import type { OllamaModelConfig } from "./Ollama_ModelSchema";
8
8
  export { getClient, getModelName, loadOllamaSDK } from "./Ollama_Client.browser";
9
9
  export declare const Ollama_TextGeneration: AiProviderRunFn<{
@@ -249,6 +249,52 @@ export declare const Ollama_TextSummary_Stream: AiProviderStreamFn<{
249
249
  tasks?: string[] | undefined;
250
250
  title?: string | undefined;
251
251
  }>;
252
+ export declare const Ollama_ToolCalling: AiProviderRunFn<ToolCallingTaskInput, {
253
+ text: string;
254
+ toolCalls: {
255
+ id: string;
256
+ input: {
257
+ [x: string]: unknown;
258
+ };
259
+ name: string;
260
+ }[];
261
+ }, {
262
+ description?: string | undefined;
263
+ metadata?: {
264
+ [x: string]: unknown;
265
+ } | undefined;
266
+ model_id?: string | undefined;
267
+ provider: "OLLAMA";
268
+ provider_config: {
269
+ base_url?: string | undefined;
270
+ model_name: string;
271
+ };
272
+ tasks?: string[] | undefined;
273
+ title?: string | undefined;
274
+ }>;
275
+ export declare const Ollama_ToolCalling_Stream: AiProviderStreamFn<ToolCallingTaskInput, {
276
+ text: string;
277
+ toolCalls: {
278
+ id: string;
279
+ input: {
280
+ [x: string]: unknown;
281
+ };
282
+ name: string;
283
+ }[];
284
+ }, {
285
+ description?: string | undefined;
286
+ metadata?: {
287
+ [x: string]: unknown;
288
+ } | undefined;
289
+ model_id?: string | undefined;
290
+ provider: "OLLAMA";
291
+ provider_config: {
292
+ base_url?: string | undefined;
293
+ model_name: string;
294
+ };
295
+ tasks?: string[] | undefined;
296
+ title?: string | undefined;
297
+ }>;
252
298
  export declare const Ollama_ModelInfo: AiProviderRunFn<{
253
299
  detail?: "cached_status" | "files" | "files_with_metadata" | undefined;
254
300
  model: string | {
@@ -1 +1 @@
1
- {"version":3,"file":"Ollama_JobRunFns.browser.d.ts","sourceRoot":"","sources":["../../../src/provider-ollama/common/Ollama_JobRunFns.browser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAS9D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAEjF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAwC,CAAC;AAC3E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAuC,CAAC;AACzE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAsC,CAAC;AACvE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAqC,CAAC;AAErE,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA8C,CAAC;AACxF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA4C,CAAC;AACpF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA2C,CAAC;AAElF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAmC,CAAC;AACjE,eAAO,MAAM,kBAAkB;;;gDAAqC,CAAC;AAErE,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAOrF,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CACtC,MAAM,EACN,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAKhD,CAAC"}
1
+ {"version":3,"file":"Ollama_JobRunFns.browser.d.ts","sourceRoot":"","sources":["../../../src/provider-ollama/common/Ollama_JobRunFns.browser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAG9F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAW9D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAcjF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAwC,CAAC;AAC3E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAuC,CAAC;AACzE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAsC,CAAC;AACvE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAqC,CAAC;AAErE,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA8C,CAAC;AACxF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA4C,CAAC;AACpF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA2C,CAAC;AAElF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;EAG9B,CAAC;AACF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;EAGrC,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAmC,CAAC;AACjE,eAAO,MAAM,kBAAkB;;;gDAAqC,CAAC;AAErE,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAQrF,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CACtC,MAAM,EACN,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAMhD,CAAC"}
@@ -248,6 +248,52 @@ export declare const Ollama_TextSummary_Stream: AiProviderStreamFn<{
248
248
  tasks?: string[] | undefined;
249
249
  title?: string | undefined;
250
250
  }>;
251
+ export declare const Ollama_ToolCalling: AiProviderRunFn<import("@workglow/ai").ToolCallingTaskInput, {
252
+ text: string;
253
+ toolCalls: {
254
+ id: string;
255
+ input: {
256
+ [x: string]: unknown;
257
+ };
258
+ name: string;
259
+ }[];
260
+ }, {
261
+ description?: string | undefined;
262
+ metadata?: {
263
+ [x: string]: unknown;
264
+ } | undefined;
265
+ model_id?: string | undefined;
266
+ provider: "OLLAMA";
267
+ provider_config: {
268
+ base_url?: string | undefined;
269
+ model_name: string;
270
+ };
271
+ tasks?: string[] | undefined;
272
+ title?: string | undefined;
273
+ }>;
274
+ export declare const Ollama_ToolCalling_Stream: AiProviderStreamFn<import("@workglow/ai").ToolCallingTaskInput, {
275
+ text: string;
276
+ toolCalls: {
277
+ id: string;
278
+ input: {
279
+ [x: string]: unknown;
280
+ };
281
+ name: string;
282
+ }[];
283
+ }, {
284
+ description?: string | undefined;
285
+ metadata?: {
286
+ [x: string]: unknown;
287
+ } | undefined;
288
+ model_id?: string | undefined;
289
+ provider: "OLLAMA";
290
+ provider_config: {
291
+ base_url?: string | undefined;
292
+ model_name: string;
293
+ };
294
+ tasks?: string[] | undefined;
295
+ title?: string | undefined;
296
+ }>;
251
297
  export declare const Ollama_ModelInfo: AiProviderRunFn<{
252
298
  detail?: "cached_status" | "files" | "files_with_metadata" | undefined;
253
299
  model: string | {
@@ -1 +1 @@
1
- {"version":3,"file":"Ollama_JobRunFns.d.ts","sourceRoot":"","sources":["../../../src/provider-ollama/common/Ollama_JobRunFns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAW9D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAwC,CAAC;AAC3E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAuC,CAAC;AACzE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAsC,CAAC;AACvE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAqC,CAAC;AAErE,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA8C,CAAC;AACxF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA4C,CAAC;AACpF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA2C,CAAC;AAElF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAmC,CAAC;AACjE,eAAO,MAAM,kBAAkB;;;gDAAqC,CAAC;AAErE,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAOrF,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CACtC,MAAM,EACN,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAKhD,CAAC"}
1
+ {"version":3,"file":"Ollama_JobRunFns.d.ts","sourceRoot":"","sources":["../../../src/provider-ollama/common/Ollama_JobRunFns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAa9D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAwC,CAAC;AAC3E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAuC,CAAC;AACzE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAsC,CAAC;AACvE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAqC,CAAC;AAErE,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA8C,CAAC;AACxF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA4C,CAAC;AACpF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA2C,CAAC;AAElF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;EAAyD,CAAC;AACzF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;EAGrC,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAmC,CAAC;AACjE,eAAO,MAAM,kBAAkB;;;gDAAqC,CAAC;AAErE,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAQrF,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CACtC,MAAM,EACN,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAMhD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Ollama_ModelSchema.d.ts","sourceRoot":"","sources":["../../../src/provider-ollama/common/Ollama_ModelSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAwB,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGzE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BW,CAAC;AAE1C,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQK,CAAC;AAE1C,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE3E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQK,CAAC;AAE1C,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
1
+ {"version":3,"file":"Ollama_ModelSchema.d.ts","sourceRoot":"","sources":["../../../src/provider-ollama/common/Ollama_ModelSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAwB,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGzE,eAAO,MAAM,iBAAiB;mBACtB,QAAQ;;iBAEZ,QAAQ;qBACN,KAAK;qBACL,WAAW,EAAE,yCAAyC;;iBAExD,eAAe;qBACb,IAAI,EAAE,QAAQ;qBACd,WAAW,EAAE,gCAAgC;qBAC7C,UAAU;yBACR,UAAU;6BACR,IAAI,EAAE,QAAQ;6BACd,WAAW,EAAE,qEAAqE;;yBAEpF,QAAQ;6BACN,IAAI,EAAE,QAAQ;6BACd,WAAW,EAAE,iCAAiC;6BAC9C,OAAO;;;qBAGX,QAAQ;qBACR,oBAAoB;;;;;CAKe,CAAC;AAE1C,eAAO,MAAM,uBAAuB;mBAC5B,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;qBA1BV,KAAK;qBACL,WAAW,EAAE,yCAAyC;;;qBAGtD,IAAI,EAAE,QAAQ;qBACd,WAAW,EAAE,gCAAgC;qBAC7C,UAAU;yBACR,UAAU;6BACR,IAAI,EAAE,QAAQ;6BACd,WAAW,EAAE,qEAAqE;;yBAEpF,QAAQ;6BACN,IAAI,EAAE,QAAQ;6BACd,WAAW,EAAE,iCAAiC;6BAC9C,OAAO;;;qBAGX,QAAQ;qBACR,oBAAoB;;;;;CAee,CAAC;AAE1C,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE3E,eAAO,MAAM,uBAAuB;mBAC5B,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;qBAtCV,KAAK;qBACL,WAAW,EAAE,yCAAyC;;;qBAGtD,IAAI,EAAE,QAAQ;qBACd,WAAW,EAAE,gCAAgC;qBAC7C,UAAU;yBACR,UAAU;6BACR,IAAI,EAAE,QAAQ;6BACd,WAAW,EAAE,qEAAqE;;yBAEpF,QAAQ;6BACN,IAAI,EAAE,QAAQ;6BACd,WAAW,EAAE,iCAAiC;6BAC9C,OAAO;;;qBAGX,QAAQ;qBACR,oBAAoB;;;;;CA2Be,CAAC;AAE1C,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { AiProviderRunFn, AiProviderStreamFn, ToolCallingTaskInput, ToolCallingTaskOutput } from "@workglow/ai";
7
+ import type { OllamaModelConfig } from "./Ollama_ModelSchema";
8
+ type GetClient = (model: OllamaModelConfig | undefined) => Promise<any>;
9
+ export type OllamaToolCallingMessagesFn = (input: ToolCallingTaskInput) => Array<{
10
+ role: string;
11
+ content: string;
12
+ }>;
13
+ export declare function createOllamaToolCalling(getClient: GetClient, buildMessages: OllamaToolCallingMessagesFn): AiProviderRunFn<ToolCallingTaskInput, ToolCallingTaskOutput, OllamaModelConfig>;
14
+ export declare function createOllamaToolCallingStream(getClient: GetClient, buildMessages: OllamaToolCallingMessagesFn): AiProviderStreamFn<ToolCallingTaskInput, ToolCallingTaskOutput, OllamaModelConfig>;
15
+ export {};
16
+ //# sourceMappingURL=Ollama_ToolCalling.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Ollama_ToolCalling.d.ts","sourceRoot":"","sources":["../../../src/provider-ollama/common/Ollama_ToolCalling.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EAGtB,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,KAAK,SAAS,GAAG,CAAC,KAAK,EAAE,iBAAiB,GAAG,SAAS,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAExE,MAAM,MAAM,2BAA2B,GAAG,CACxC,KAAK,EAAE,oBAAoB,KACxB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAa9C,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,2BAA2B,GACzC,eAAe,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,iBAAiB,CAAC,CA+CjF;AAED,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,2BAA2B,GACzC,kBAAkB,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,iBAAiB,CAAC,CAkEpF"}
@@ -58,9 +58,7 @@ var OllamaModelConfigSchema = {
58
58
  additionalProperties: false
59
59
  };
60
60
  // src/provider-ollama/OllamaQueuedProvider.ts
61
- import {
62
- AiProvider
63
- } from "@workglow/ai";
61
+ import { AiProvider } from "@workglow/ai";
64
62
  class OllamaQueuedProvider extends AiProvider {
65
63
  name = OLLAMA;
66
64
  displayName = "Ollama";
@@ -72,6 +70,7 @@ class OllamaQueuedProvider extends AiProvider {
72
70
  "TextEmbeddingTask",
73
71
  "TextRewriterTask",
74
72
  "TextSummaryTask",
73
+ "ToolCallingTask",
75
74
  "ModelSearchTask"
76
75
  ];
77
76
  constructor(tasks, streamTasks, reactiveTasks) {
@@ -92,4 +91,4 @@ export {
92
91
  OLLAMA
93
92
  };
94
93
 
95
- //# debugId=898D2F534251CE0C64756E2164756E21
94
+ //# debugId=D798AA28A73A9F2564756E2164756E21
@@ -4,10 +4,10 @@
4
4
  "sourcesContent": [
5
5
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const 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 { ModelConfigSchema, ModelRecordSchema } from \"@workglow/ai/worker\";\nimport { DataPortSchemaObject, FromSchema } from \"@workglow/util/worker\";\nimport { OLLAMA, OLLAMA_DEFAULT_BASE_URL } from \"./Ollama_Constants\";\n\nexport const OllamaModelSchema = {\n type: \"object\",\n properties: {\n provider: {\n const: OLLAMA,\n description: \"Discriminator: Ollama local LLM server.\",\n },\n provider_config: {\n type: \"object\",\n description: \"Ollama-specific configuration.\",\n properties: {\n model_name: {\n type: \"string\",\n description: \"The Ollama model identifier (e.g., 'llama3.2', 'nomic-embed-text').\",\n },\n base_url: {\n type: \"string\",\n description: \"Base URL for the Ollama server.\",\n default: OLLAMA_DEFAULT_BASE_URL,\n },\n },\n required: [\"model_name\"],\n additionalProperties: false,\n },\n },\n required: [\"provider\", \"provider_config\"],\n additionalProperties: true,\n} as const satisfies DataPortSchemaObject;\n\nexport const OllamaModelRecordSchema = {\n type: \"object\",\n properties: {\n ...ModelRecordSchema.properties,\n ...OllamaModelSchema.properties,\n },\n required: [...ModelRecordSchema.required, ...OllamaModelSchema.required],\n additionalProperties: false,\n} as const satisfies DataPortSchemaObject;\n\nexport type OllamaModelRecord = FromSchema<typeof OllamaModelRecordSchema>;\n\nexport const OllamaModelConfigSchema = {\n type: \"object\",\n properties: {\n ...ModelConfigSchema.properties,\n ...OllamaModelSchema.properties,\n },\n required: [...ModelConfigSchema.required, ...OllamaModelSchema.required],\n additionalProperties: false,\n} as const satisfies DataPortSchemaObject;\n\nexport type OllamaModelConfig = FromSchema<typeof OllamaModelConfigSchema>;\n",
7
- "/**\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",
7
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AiProvider } from \"@workglow/ai\";\nimport type { AiProviderReactiveRunFn, AiProviderRunFn, AiProviderStreamFn } from \"@workglow/ai\";\nimport { 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",
8
8
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRegisterOptions } from \"@workglow/ai\";\nimport { OllamaQueuedProvider } from \"./OllamaQueuedProvider\";\n\nexport async function registerOllama(\n options: AiProviderRegisterOptions & {\n worker: Worker | (() => Worker);\n }\n): Promise<void> {\n await new OllamaQueuedProvider().register(options);\n}\n"
9
9
  ],
10
- "mappings": ";;;;;;;;;AAMO,IAAM,SAAS;AACf,IAAM,0BAA0B;;ACDvC;AAIO,IAAM,oBAAoB;AAAA,EAC/B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,UAAU;AAAA,MACR,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,aAAa;AAAA,MACb,YAAY;AAAA,QACV,YAAY;AAAA,UACV,MAAM;AAAA,UACN,aAAa;AAAA,QACf;AAAA,QACA,UAAU;AAAA,UACR,MAAM;AAAA,UACN,aAAa;AAAA,UACb,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,UAAU,CAAC,YAAY;AAAA,MACvB,sBAAsB;AAAA,IACxB;AAAA,EACF;AAAA,EACA,UAAU,CAAC,YAAY,iBAAiB;AAAA,EACxC,sBAAsB;AACxB;AAEO,IAAM,0BAA0B;AAAA,EACrC,MAAM;AAAA,EACN,YAAY;AAAA,OACP,kBAAkB;AAAA,OAClB,kBAAkB;AAAA,EACvB;AAAA,EACA,UAAU,CAAC,GAAG,kBAAkB,UAAU,GAAG,kBAAkB,QAAQ;AAAA,EACvE,sBAAsB;AACxB;AAIO,IAAM,0BAA0B;AAAA,EACrC,MAAM;AAAA,EACN,YAAY;AAAA,OACP,kBAAkB;AAAA,OAClB,kBAAkB;AAAA,EACvB;AAAA,EACA,UAAU,CAAC,GAAG,kBAAkB,UAAU,GAAG,kBAAkB,QAAQ;AAAA,EACvE,sBAAsB;AACxB;;ACrDA;AAAA;AAAA;AAUO,MAAM,6BAA6B,WAA8B;AAAA,EAC7D,OAAO;AAAA,EACP,cAAc;AAAA,EACd,UAAU;AAAA,EACV,kBAAkB;AAAA,EAElB,YAAY;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,WAAW,CACT,OACA,aACA,eACA;AAAA,IACA,MAAM,OAAO,aAAa,aAAa;AAAA;AAE3C;;;AC7BA,eAAsB,cAAc,CAClC,SAGe;AAAA,EACf,MAAM,IAAI,qBAAqB,EAAE,SAAS,OAAO;AAAA;",
11
- "debugId": "898D2F534251CE0C64756E2164756E21",
10
+ "mappings": ";;;;;;;;;AAMO,IAAM,SAAS;AACf,IAAM,0BAA0B;;ACDvC;AAIO,IAAM,oBAAoB;AAAA,EAC/B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,UAAU;AAAA,MACR,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,aAAa;AAAA,MACb,YAAY;AAAA,QACV,YAAY;AAAA,UACV,MAAM;AAAA,UACN,aAAa;AAAA,QACf;AAAA,QACA,UAAU;AAAA,UACR,MAAM;AAAA,UACN,aAAa;AAAA,UACb,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,UAAU,CAAC,YAAY;AAAA,MACvB,sBAAsB;AAAA,IACxB;AAAA,EACF;AAAA,EACA,UAAU,CAAC,YAAY,iBAAiB;AAAA,EACxC,sBAAsB;AACxB;AAEO,IAAM,0BAA0B;AAAA,EACrC,MAAM;AAAA,EACN,YAAY;AAAA,OACP,kBAAkB;AAAA,OAClB,kBAAkB;AAAA,EACvB;AAAA,EACA,UAAU,CAAC,GAAG,kBAAkB,UAAU,GAAG,kBAAkB,QAAQ;AAAA,EACvE,sBAAsB;AACxB;AAIO,IAAM,0BAA0B;AAAA,EACrC,MAAM;AAAA,EACN,YAAY;AAAA,OACP,kBAAkB;AAAA,OAClB,kBAAkB;AAAA,EACvB;AAAA,EACA,UAAU,CAAC,GAAG,kBAAkB,UAAU,GAAG,kBAAkB,QAAQ;AAAA,EACvE,sBAAsB;AACxB;;ACrDA;AAMO,MAAM,6BAA6B,WAA8B;AAAA,EAC7D,OAAO;AAAA,EACP,cAAc;AAAA,EACd,UAAU;AAAA,EACV,kBAAkB;AAAA,EAElB,YAAY;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,WAAW,CACT,OACA,aACA,eACA;AAAA,IACA,MAAM,OAAO,aAAa,aAAa;AAAA;AAE3C;;;AC1BA,eAAsB,cAAc,CAClC,SAGe;AAAA,EACf,MAAM,IAAI,qBAAqB,EAAE,SAAS,OAAO;AAAA;",
11
+ "debugId": "D798AA28A73A9F2564756E2164756E21",
12
12
  "names": []
13
13
  }
@@ -73,9 +73,7 @@ var OllamaModelConfigSchema = {
73
73
  additionalProperties: false
74
74
  };
75
75
  // src/provider-ollama/OllamaQueuedProvider.ts
76
- import {
77
- AiProvider
78
- } from "@workglow/ai";
76
+ import { AiProvider } from "@workglow/ai";
79
77
  class OllamaQueuedProvider extends AiProvider {
80
78
  name = OLLAMA;
81
79
  displayName = "Ollama";
@@ -87,6 +85,7 @@ class OllamaQueuedProvider extends AiProvider {
87
85
  "TextEmbeddingTask",
88
86
  "TextRewriterTask",
89
87
  "TextSummaryTask",
88
+ "ToolCallingTask",
90
89
  "ModelSearchTask"
91
90
  ];
92
91
  constructor(tasks, streamTasks, reactiveTasks) {
@@ -107,4 +106,4 @@ export {
107
106
  OLLAMA
108
107
  };
109
108
 
110
- //# debugId=4FCE45B627413BD864756E2164756E21
109
+ //# debugId=9B7DA80D7667189F64756E2164756E21
@@ -4,10 +4,10 @@
4
4
  "sourcesContent": [
5
5
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const 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 { ModelConfigSchema, ModelRecordSchema } from \"@workglow/ai/worker\";\nimport { DataPortSchemaObject, FromSchema } from \"@workglow/util/worker\";\nimport { OLLAMA, OLLAMA_DEFAULT_BASE_URL } from \"./Ollama_Constants\";\n\nexport const OllamaModelSchema = {\n type: \"object\",\n properties: {\n provider: {\n const: OLLAMA,\n description: \"Discriminator: Ollama local LLM server.\",\n },\n provider_config: {\n type: \"object\",\n description: \"Ollama-specific configuration.\",\n properties: {\n model_name: {\n type: \"string\",\n description: \"The Ollama model identifier (e.g., 'llama3.2', 'nomic-embed-text').\",\n },\n base_url: {\n type: \"string\",\n description: \"Base URL for the Ollama server.\",\n default: OLLAMA_DEFAULT_BASE_URL,\n },\n },\n required: [\"model_name\"],\n additionalProperties: false,\n },\n },\n required: [\"provider\", \"provider_config\"],\n additionalProperties: true,\n} as const satisfies DataPortSchemaObject;\n\nexport const OllamaModelRecordSchema = {\n type: \"object\",\n properties: {\n ...ModelRecordSchema.properties,\n ...OllamaModelSchema.properties,\n },\n required: [...ModelRecordSchema.required, ...OllamaModelSchema.required],\n additionalProperties: false,\n} as const satisfies DataPortSchemaObject;\n\nexport type OllamaModelRecord = FromSchema<typeof OllamaModelRecordSchema>;\n\nexport const OllamaModelConfigSchema = {\n type: \"object\",\n properties: {\n ...ModelConfigSchema.properties,\n ...OllamaModelSchema.properties,\n },\n required: [...ModelConfigSchema.required, ...OllamaModelSchema.required],\n additionalProperties: false,\n} as const satisfies DataPortSchemaObject;\n\nexport type OllamaModelConfig = FromSchema<typeof OllamaModelConfigSchema>;\n",
7
- "/**\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",
7
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AiProvider } from \"@workglow/ai\";\nimport type { AiProviderReactiveRunFn, AiProviderRunFn, AiProviderStreamFn } from \"@workglow/ai\";\nimport { 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",
8
8
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRegisterOptions } from \"@workglow/ai\";\nimport { OllamaQueuedProvider } from \"./OllamaQueuedProvider\";\n\nexport async function registerOllama(\n options: AiProviderRegisterOptions & {\n worker: Worker | (() => Worker);\n }\n): Promise<void> {\n await new OllamaQueuedProvider().register(options);\n}\n"
9
9
  ],
10
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAMO,IAAM,SAAS;AACf,IAAM,0BAA0B;;ACDvC;AAIO,IAAM,oBAAoB;AAAA,EAC/B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,UAAU;AAAA,MACR,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,aAAa;AAAA,MACb,YAAY;AAAA,QACV,YAAY;AAAA,UACV,MAAM;AAAA,UACN,aAAa;AAAA,QACf;AAAA,QACA,UAAU;AAAA,UACR,MAAM;AAAA,UACN,aAAa;AAAA,UACb,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,UAAU,CAAC,YAAY;AAAA,MACvB,sBAAsB;AAAA,IACxB;AAAA,EACF;AAAA,EACA,UAAU,CAAC,YAAY,iBAAiB;AAAA,EACxC,sBAAsB;AACxB;AAEO,IAAM,0BAA0B;AAAA,EACrC,MAAM;AAAA,EACN,YAAY;AAAA,OACP,kBAAkB;AAAA,OAClB,kBAAkB;AAAA,EACvB;AAAA,EACA,UAAU,CAAC,GAAG,kBAAkB,UAAU,GAAG,kBAAkB,QAAQ;AAAA,EACvE,sBAAsB;AACxB;AAIO,IAAM,0BAA0B;AAAA,EACrC,MAAM;AAAA,EACN,YAAY;AAAA,OACP,kBAAkB;AAAA,OAClB,kBAAkB;AAAA,EACvB;AAAA,EACA,UAAU,CAAC,GAAG,kBAAkB,UAAU,GAAG,kBAAkB,QAAQ;AAAA,EACvE,sBAAsB;AACxB;;ACrDA;AAAA;AAAA;AAUO,MAAM,6BAA6B,WAA8B;AAAA,EAC7D,OAAO;AAAA,EACP,cAAc;AAAA,EACd,UAAU;AAAA,EACV,kBAAkB;AAAA,EAElB,YAAY;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,WAAW,CACT,OACA,aACA,eACA;AAAA,IACA,MAAM,OAAO,aAAa,aAAa;AAAA;AAE3C;;;AC7BA,eAAsB,cAAc,CAClC,SAGe;AAAA,EACf,MAAM,IAAI,qBAAqB,EAAE,SAAS,OAAO;AAAA;",
11
- "debugId": "4FCE45B627413BD864756E2164756E21",
10
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAMO,IAAM,SAAS;AACf,IAAM,0BAA0B;;ACDvC;AAIO,IAAM,oBAAoB;AAAA,EAC/B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,UAAU;AAAA,MACR,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,aAAa;AAAA,MACb,YAAY;AAAA,QACV,YAAY;AAAA,UACV,MAAM;AAAA,UACN,aAAa;AAAA,QACf;AAAA,QACA,UAAU;AAAA,UACR,MAAM;AAAA,UACN,aAAa;AAAA,UACb,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,UAAU,CAAC,YAAY;AAAA,MACvB,sBAAsB;AAAA,IACxB;AAAA,EACF;AAAA,EACA,UAAU,CAAC,YAAY,iBAAiB;AAAA,EACxC,sBAAsB;AACxB;AAEO,IAAM,0BAA0B;AAAA,EACrC,MAAM;AAAA,EACN,YAAY;AAAA,OACP,kBAAkB;AAAA,OAClB,kBAAkB;AAAA,EACvB;AAAA,EACA,UAAU,CAAC,GAAG,kBAAkB,UAAU,GAAG,kBAAkB,QAAQ;AAAA,EACvE,sBAAsB;AACxB;AAIO,IAAM,0BAA0B;AAAA,EACrC,MAAM;AAAA,EACN,YAAY;AAAA,OACP,kBAAkB;AAAA,OAClB,kBAAkB;AAAA,EACvB;AAAA,EACA,UAAU,CAAC,GAAG,kBAAkB,UAAU,GAAG,kBAAkB,QAAQ;AAAA,EACvE,sBAAsB;AACxB;;ACrDA;AAMO,MAAM,6BAA6B,WAA8B;AAAA,EAC7D,OAAO;AAAA,EACP,cAAc;AAAA,EACd,UAAU;AAAA,EACV,kBAAkB;AAAA,EAElB,YAAY;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,WAAW,CACT,OACA,aACA,eACA;AAAA,IACA,MAAM,OAAO,aAAa,aAAa;AAAA;AAE3C;;;AC1BA,eAAsB,cAAc,CAClC,SAGe;AAAA,EACf,MAAM,IAAI,qBAAqB,EAAE,SAAS,OAAO;AAAA;",
11
+ "debugId": "9B7DA80D7667189F64756E2164756E21",
12
12
  "names": []
13
13
  }
@@ -284,7 +284,127 @@ function createOllamaTextSummaryStream(getClient2) {
284
284
  };
285
285
  }
286
286
 
287
+ // src/provider-ollama/common/Ollama_ToolCalling.ts
288
+ import { buildToolDescription, filterValidToolCalls } from "@workglow/ai/worker";
289
+ import { parsePartialJson } from "@workglow/util/worker";
290
+ function mapOllamaTools(tools) {
291
+ return tools.map((t) => ({
292
+ type: "function",
293
+ function: {
294
+ name: t.name,
295
+ description: buildToolDescription(t),
296
+ parameters: t.inputSchema
297
+ }
298
+ }));
299
+ }
300
+ function createOllamaToolCalling(getClient2, buildMessages) {
301
+ const run = async (input, model, update_progress, _signal) => {
302
+ update_progress(0, "Starting Ollama tool calling");
303
+ const client = await getClient2(model);
304
+ const modelName = getOllamaModelName(model);
305
+ const messages = buildMessages(input);
306
+ const tools = input.toolChoice === "none" ? undefined : mapOllamaTools(input.tools);
307
+ const response = await client.chat({
308
+ model: modelName,
309
+ messages,
310
+ tools,
311
+ options: {
312
+ temperature: input.temperature,
313
+ num_predict: input.maxTokens
314
+ }
315
+ });
316
+ const text = response.message.content ?? "";
317
+ const toolCalls = [];
318
+ (response.message.tool_calls ?? []).forEach((tc, index) => {
319
+ let parsedInput = {};
320
+ const fnArgs = tc.function.arguments;
321
+ if (typeof fnArgs === "string") {
322
+ try {
323
+ parsedInput = JSON.parse(fnArgs);
324
+ } catch {
325
+ const partial = parsePartialJson(fnArgs);
326
+ parsedInput = partial ?? {};
327
+ }
328
+ } else if (fnArgs != null) {
329
+ parsedInput = fnArgs;
330
+ }
331
+ const id = `call_${index}`;
332
+ toolCalls.push({ id, name: tc.function.name, input: parsedInput });
333
+ });
334
+ update_progress(100, "Completed Ollama tool calling");
335
+ return { text, toolCalls: filterValidToolCalls(toolCalls, input.tools) };
336
+ };
337
+ return run;
338
+ }
339
+ function createOllamaToolCallingStream(getClient2, buildMessages) {
340
+ return async function* (input, model, signal) {
341
+ const client = await getClient2(model);
342
+ const modelName = getOllamaModelName(model);
343
+ const messages = buildMessages(input);
344
+ const tools = input.toolChoice === "none" ? undefined : mapOllamaTools(input.tools);
345
+ const stream = await client.chat({
346
+ model: modelName,
347
+ messages,
348
+ tools,
349
+ options: {
350
+ temperature: input.temperature,
351
+ num_predict: input.maxTokens
352
+ },
353
+ stream: true
354
+ });
355
+ const onAbort = () => stream.abort();
356
+ signal.addEventListener("abort", onAbort, { once: true });
357
+ let accumulatedText = "";
358
+ const toolCalls = [];
359
+ let callIndex = 0;
360
+ try {
361
+ for await (const chunk of stream) {
362
+ const delta = chunk.message.content;
363
+ if (delta) {
364
+ accumulatedText += delta;
365
+ yield { type: "text-delta", port: "text", textDelta: delta };
366
+ }
367
+ const chunkToolCalls = chunk.message.tool_calls;
368
+ if (Array.isArray(chunkToolCalls) && chunkToolCalls.length > 0) {
369
+ for (const tc of chunkToolCalls) {
370
+ let parsedInput = {};
371
+ const fnArgs = tc.function.arguments;
372
+ if (typeof fnArgs === "string") {
373
+ try {
374
+ parsedInput = JSON.parse(fnArgs);
375
+ } catch {
376
+ const partial = parsePartialJson(fnArgs);
377
+ parsedInput = partial ?? {};
378
+ }
379
+ } else if (fnArgs != null) {
380
+ parsedInput = fnArgs;
381
+ }
382
+ const id = `call_${callIndex++}`;
383
+ toolCalls.push({ id, name: tc.function.name, input: parsedInput });
384
+ }
385
+ yield { type: "object-delta", port: "toolCalls", objectDelta: [...toolCalls] };
386
+ }
387
+ }
388
+ const validToolCalls = filterValidToolCalls(toolCalls, input.tools);
389
+ yield {
390
+ type: "finish",
391
+ data: { text: accumulatedText, toolCalls: validToolCalls }
392
+ };
393
+ } finally {
394
+ signal.removeEventListener("abort", onAbort);
395
+ }
396
+ };
397
+ }
398
+
287
399
  // src/provider-ollama/common/Ollama_JobRunFns.browser.ts
400
+ function buildBrowserToolCallingMessages(input) {
401
+ const messages = [];
402
+ if (input.systemPrompt) {
403
+ messages.push({ role: "system", content: input.systemPrompt });
404
+ }
405
+ messages.push({ role: "user", content: input.prompt });
406
+ return messages;
407
+ }
288
408
  var Ollama_TextGeneration = createOllamaTextGeneration(getClient);
289
409
  var Ollama_TextEmbedding = createOllamaTextEmbedding(getClient);
290
410
  var Ollama_TextRewriter = createOllamaTextRewriter(getClient);
@@ -292,6 +412,8 @@ var Ollama_TextSummary = createOllamaTextSummary(getClient);
292
412
  var Ollama_TextGeneration_Stream = createOllamaTextGenerationStream(getClient);
293
413
  var Ollama_TextRewriter_Stream = createOllamaTextRewriterStream(getClient);
294
414
  var Ollama_TextSummary_Stream = createOllamaTextSummaryStream(getClient);
415
+ var Ollama_ToolCalling = createOllamaToolCalling(getClient, buildBrowserToolCallingMessages);
416
+ var Ollama_ToolCalling_Stream = createOllamaToolCallingStream(getClient, buildBrowserToolCallingMessages);
295
417
  var Ollama_ModelInfo = createOllamaModelInfo(getClient);
296
418
  var Ollama_ModelSearch = createOllamaModelSearch(getClient);
297
419
  var OLLAMA_TASKS = {
@@ -300,18 +422,18 @@ var OLLAMA_TASKS = {
300
422
  TextEmbeddingTask: Ollama_TextEmbedding,
301
423
  TextRewriterTask: Ollama_TextRewriter,
302
424
  TextSummaryTask: Ollama_TextSummary,
425
+ ToolCallingTask: Ollama_ToolCalling,
303
426
  ModelSearchTask: Ollama_ModelSearch
304
427
  };
305
428
  var OLLAMA_STREAM_TASKS = {
306
429
  TextGenerationTask: Ollama_TextGeneration_Stream,
307
430
  TextRewriterTask: Ollama_TextRewriter_Stream,
308
- TextSummaryTask: Ollama_TextSummary_Stream
431
+ TextSummaryTask: Ollama_TextSummary_Stream,
432
+ ToolCallingTask: Ollama_ToolCalling_Stream
309
433
  };
310
434
 
311
435
  // src/provider-ollama/OllamaQueuedProvider.ts
312
- import {
313
- AiProvider
314
- } from "@workglow/ai";
436
+ import { AiProvider } from "@workglow/ai";
315
437
  class OllamaQueuedProvider extends AiProvider {
316
438
  name = OLLAMA;
317
439
  displayName = "Ollama";
@@ -323,6 +445,7 @@ class OllamaQueuedProvider extends AiProvider {
323
445
  "TextEmbeddingTask",
324
446
  "TextRewriterTask",
325
447
  "TextSummaryTask",
448
+ "ToolCallingTask",
326
449
  "ModelSearchTask"
327
450
  ];
328
451
  constructor(tasks, streamTasks, reactiveTasks) {
@@ -338,9 +461,7 @@ async function registerOllamaInline(options) {
338
461
  import { getLogger, globalServiceRegistry, WORKER_SERVER } from "@workglow/util/worker";
339
462
 
340
463
  // src/provider-ollama/OllamaProvider.ts
341
- import {
342
- AiProvider as AiProvider2
343
- } from "@workglow/ai/worker";
464
+ import { AiProvider as AiProvider2 } from "@workglow/ai/worker";
344
465
  class OllamaProvider extends AiProvider2 {
345
466
  name = OLLAMA;
346
467
  displayName = "Ollama";
@@ -352,6 +473,7 @@ class OllamaProvider extends AiProvider2 {
352
473
  "TextEmbeddingTask",
353
474
  "TextRewriterTask",
354
475
  "TextSummaryTask",
476
+ "ToolCallingTask",
355
477
  "ModelSearchTask"
356
478
  ];
357
479
  constructor(tasks, streamTasks, reactiveTasks) {
@@ -374,4 +496,4 @@ export {
374
496
  getClient
375
497
  };
376
498
 
377
- //# debugId=6912A4E1147FEC9A64756E2164756E21
499
+ //# debugId=CBD00AA0D411F2BC64756E2164756E21