@workglow/ai-provider 0.0.125 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. package/dist/common/HfModelSearch.d.ts +1 -0
  2. package/dist/common/HfModelSearch.d.ts.map +1 -1
  3. package/dist/common/modelSearchQuery.d.ts +25 -0
  4. package/dist/common/modelSearchQuery.d.ts.map +1 -0
  5. package/dist/provider-anthropic/AnthropicProvider.d.ts +1 -1
  6. package/dist/provider-anthropic/AnthropicProvider.d.ts.map +1 -1
  7. package/dist/provider-anthropic/AnthropicQueuedProvider.d.ts +4 -4
  8. package/dist/provider-anthropic/AnthropicQueuedProvider.d.ts.map +1 -1
  9. package/dist/provider-anthropic/common/Anthropic_Client.d.ts.map +1 -1
  10. package/dist/provider-anthropic/common/Anthropic_CountTokens.d.ts.map +1 -1
  11. package/dist/provider-anthropic/common/Anthropic_JobRunFns.d.ts.map +1 -1
  12. package/dist/provider-anthropic/common/Anthropic_ModelSearch.d.ts.map +1 -1
  13. package/dist/provider-anthropic/common/Anthropic_TextGeneration.d.ts.map +1 -1
  14. package/dist/provider-anthropic/common/Anthropic_TextRewriter.d.ts.map +1 -1
  15. package/dist/provider-anthropic/common/Anthropic_TextSummary.d.ts.map +1 -1
  16. package/dist/provider-anthropic/index.js +3 -4
  17. package/dist/provider-anthropic/index.js.map +3 -3
  18. package/dist/provider-anthropic/runtime.js +39 -292
  19. package/dist/provider-anthropic/runtime.js.map +13 -13
  20. package/dist/provider-chrome/common/WebBrowser_ModelSearch.d.ts.map +1 -1
  21. package/dist/provider-chrome/common/WebBrowser_TextGeneration.d.ts.map +1 -1
  22. package/dist/provider-chrome/common/WebBrowser_TextLanguageDetection.d.ts.map +1 -1
  23. package/dist/provider-chrome/common/WebBrowser_TextRewriter.d.ts.map +1 -1
  24. package/dist/provider-chrome/common/WebBrowser_TextSummary.d.ts.map +1 -1
  25. package/dist/provider-chrome/common/WebBrowser_TextTranslation.d.ts.map +1 -1
  26. package/dist/provider-chrome/runtime.js +24 -99
  27. package/dist/provider-chrome/runtime.js.map +10 -9
  28. package/dist/provider-gemini/GoogleGeminiProvider.d.ts +1 -1
  29. package/dist/provider-gemini/GoogleGeminiProvider.d.ts.map +1 -1
  30. package/dist/provider-gemini/GoogleGeminiQueuedProvider.d.ts +4 -4
  31. package/dist/provider-gemini/GoogleGeminiQueuedProvider.d.ts.map +1 -1
  32. package/dist/provider-gemini/common/Gemini_CountTokens.d.ts.map +1 -1
  33. package/dist/provider-gemini/common/Gemini_JobRunFns.d.ts.map +1 -1
  34. package/dist/provider-gemini/common/Gemini_ModelSearch.d.ts.map +1 -1
  35. package/dist/provider-gemini/common/Gemini_TextEmbedding.d.ts.map +1 -1
  36. package/dist/provider-gemini/common/Gemini_TextGeneration.d.ts.map +1 -1
  37. package/dist/provider-gemini/common/Gemini_TextRewriter.d.ts.map +1 -1
  38. package/dist/provider-gemini/common/Gemini_TextSummary.d.ts.map +1 -1
  39. package/dist/provider-gemini/index.js +3 -4
  40. package/dist/provider-gemini/index.js.map +3 -3
  41. package/dist/provider-gemini/runtime.js +33 -259
  42. package/dist/provider-gemini/runtime.js.map +13 -13
  43. package/dist/provider-hf-inference/HfInferenceProvider.d.ts +1 -1
  44. package/dist/provider-hf-inference/HfInferenceProvider.d.ts.map +1 -1
  45. package/dist/provider-hf-inference/HfInferenceQueuedProvider.d.ts +4 -4
  46. package/dist/provider-hf-inference/HfInferenceQueuedProvider.d.ts.map +1 -1
  47. package/dist/provider-hf-inference/common/HFI_Client.d.ts.map +1 -1
  48. package/dist/provider-hf-inference/common/HFI_JobRunFns.d.ts.map +1 -1
  49. package/dist/provider-hf-inference/common/HFI_ModelSearch.d.ts.map +1 -1
  50. package/dist/provider-hf-inference/common/HFI_TextEmbedding.d.ts.map +1 -1
  51. package/dist/provider-hf-inference/common/HFI_TextGeneration.d.ts.map +1 -1
  52. package/dist/provider-hf-inference/common/HFI_TextRewriter.d.ts.map +1 -1
  53. package/dist/provider-hf-inference/common/HFI_TextSummary.d.ts.map +1 -1
  54. package/dist/provider-hf-inference/index.js +3 -4
  55. package/dist/provider-hf-inference/index.js.map +3 -3
  56. package/dist/provider-hf-inference/runtime.js +14 -207
  57. package/dist/provider-hf-inference/runtime.js.map +13 -14
  58. package/dist/provider-hf-transformers/HuggingFaceTransformersProvider.d.ts +1 -1
  59. package/dist/provider-hf-transformers/HuggingFaceTransformersProvider.d.ts.map +1 -1
  60. package/dist/provider-hf-transformers/HuggingFaceTransformersQueuedProvider.d.ts +13 -3
  61. package/dist/provider-hf-transformers/HuggingFaceTransformersQueuedProvider.d.ts.map +1 -1
  62. package/dist/provider-hf-transformers/common/HFT_Constants.d.ts +4 -0
  63. package/dist/provider-hf-transformers/common/HFT_Constants.d.ts.map +1 -1
  64. package/dist/provider-hf-transformers/common/HFT_CountTokens.d.ts.map +1 -1
  65. package/dist/provider-hf-transformers/common/HFT_Download.d.ts.map +1 -1
  66. package/dist/provider-hf-transformers/common/HFT_ImageEmbedding.d.ts.map +1 -1
  67. package/dist/provider-hf-transformers/common/HFT_JobRunFns.d.ts +117 -88
  68. package/dist/provider-hf-transformers/common/HFT_JobRunFns.d.ts.map +1 -1
  69. package/dist/provider-hf-transformers/common/HFT_ModelInfo.d.ts.map +1 -1
  70. package/dist/provider-hf-transformers/common/HFT_ModelSchema.d.ts +30 -0
  71. package/dist/provider-hf-transformers/common/HFT_ModelSchema.d.ts.map +1 -1
  72. package/dist/provider-hf-transformers/common/HFT_ModelSearch.d.ts.map +1 -1
  73. package/dist/provider-hf-transformers/common/HFT_OnnxDtypes.d.ts.map +1 -1
  74. package/dist/provider-hf-transformers/common/HFT_Pipeline.d.ts +9 -2
  75. package/dist/provider-hf-transformers/common/HFT_Pipeline.d.ts.map +1 -1
  76. package/dist/provider-hf-transformers/common/HFT_Streaming.d.ts +2 -2
  77. package/dist/provider-hf-transformers/common/HFT_Streaming.d.ts.map +1 -1
  78. package/dist/provider-hf-transformers/common/HFT_TextClassification.d.ts.map +1 -1
  79. package/dist/provider-hf-transformers/common/HFT_TextFillMask.d.ts.map +1 -1
  80. package/dist/provider-hf-transformers/common/HFT_TextGeneration.d.ts.map +1 -1
  81. package/dist/provider-hf-transformers/common/HFT_TextLanguageDetection.d.ts.map +1 -1
  82. package/dist/provider-hf-transformers/common/HFT_TextNamedEntityRecognition.d.ts.map +1 -1
  83. package/dist/provider-hf-transformers/common/HFT_TextQuestionAnswer.d.ts.map +1 -1
  84. package/dist/provider-hf-transformers/common/HFT_TextRewriter.d.ts.map +1 -1
  85. package/dist/provider-hf-transformers/common/HFT_TextSummary.d.ts.map +1 -1
  86. package/dist/provider-hf-transformers/common/HFT_TextTranslation.d.ts.map +1 -1
  87. package/dist/provider-hf-transformers/index.d.ts +0 -1
  88. package/dist/provider-hf-transformers/index.d.ts.map +1 -1
  89. package/dist/provider-hf-transformers/index.js +49 -177
  90. package/dist/provider-hf-transformers/index.js.map +8 -9
  91. package/dist/provider-hf-transformers/registerHuggingFaceTransformersWorker.d.ts.map +1 -1
  92. package/dist/provider-hf-transformers/runtime.d.ts +0 -1
  93. package/dist/provider-hf-transformers/runtime.d.ts.map +1 -1
  94. package/dist/provider-hf-transformers/runtime.js +209 -514
  95. package/dist/provider-hf-transformers/runtime.js.map +29 -31
  96. package/dist/provider-llamacpp/LlamaCppProvider.d.ts +1 -1
  97. package/dist/provider-llamacpp/LlamaCppProvider.d.ts.map +1 -1
  98. package/dist/provider-llamacpp/LlamaCppQueuedProvider.d.ts +1 -1
  99. package/dist/provider-llamacpp/LlamaCppQueuedProvider.d.ts.map +1 -1
  100. package/dist/provider-llamacpp/common/LlamaCpp_CountTokens.d.ts.map +1 -1
  101. package/dist/provider-llamacpp/common/LlamaCpp_JobRunFns.d.ts.map +1 -1
  102. package/dist/provider-llamacpp/common/LlamaCpp_ModelSchema.d.ts +15 -0
  103. package/dist/provider-llamacpp/common/LlamaCpp_ModelSchema.d.ts.map +1 -1
  104. package/dist/provider-llamacpp/common/LlamaCpp_ModelSearch.d.ts.map +1 -1
  105. package/dist/provider-llamacpp/common/LlamaCpp_Runtime.d.ts +10 -0
  106. package/dist/provider-llamacpp/common/LlamaCpp_Runtime.d.ts.map +1 -1
  107. package/dist/provider-llamacpp/common/LlamaCpp_StructuredGeneration.d.ts.map +1 -1
  108. package/dist/provider-llamacpp/common/LlamaCpp_TextEmbedding.d.ts.map +1 -1
  109. package/dist/provider-llamacpp/common/LlamaCpp_TextGeneration.d.ts.map +1 -1
  110. package/dist/provider-llamacpp/common/LlamaCpp_TextRewriter.d.ts.map +1 -1
  111. package/dist/provider-llamacpp/common/LlamaCpp_TextSummary.d.ts.map +1 -1
  112. package/dist/provider-llamacpp/index.js +6 -2
  113. package/dist/provider-llamacpp/index.js.map +4 -4
  114. package/dist/provider-llamacpp/runtime.js +83 -231
  115. package/dist/provider-llamacpp/runtime.js.map +15 -16
  116. package/dist/provider-ollama/OllamaProvider.d.ts +1 -1
  117. package/dist/provider-ollama/OllamaProvider.d.ts.map +1 -1
  118. package/dist/provider-ollama/OllamaQueuedProvider.d.ts +4 -4
  119. package/dist/provider-ollama/OllamaQueuedProvider.d.ts.map +1 -1
  120. package/dist/provider-ollama/common/Ollama_JobRunFns.browser.d.ts +14 -72
  121. package/dist/provider-ollama/common/Ollama_JobRunFns.browser.d.ts.map +1 -1
  122. package/dist/provider-ollama/common/Ollama_JobRunFns.d.ts +14 -72
  123. package/dist/provider-ollama/common/Ollama_JobRunFns.d.ts.map +1 -1
  124. package/dist/provider-ollama/common/Ollama_ModelSearch.d.ts.map +1 -1
  125. package/dist/provider-ollama/common/Ollama_TextGeneration.d.ts.map +1 -1
  126. package/dist/provider-ollama/common/Ollama_TextRewriter.d.ts.map +1 -1
  127. package/dist/provider-ollama/common/Ollama_TextSummary.d.ts.map +1 -1
  128. package/dist/provider-ollama/index.browser.js +3 -4
  129. package/dist/provider-ollama/index.browser.js.map +3 -3
  130. package/dist/provider-ollama/index.js +3 -4
  131. package/dist/provider-ollama/index.js.map +3 -3
  132. package/dist/provider-ollama/runtime.browser.js +28 -181
  133. package/dist/provider-ollama/runtime.browser.js.map +11 -11
  134. package/dist/provider-ollama/runtime.js +28 -176
  135. package/dist/provider-ollama/runtime.js.map +11 -11
  136. package/dist/provider-openai/OpenAiProvider.d.ts +1 -1
  137. package/dist/provider-openai/OpenAiProvider.d.ts.map +1 -1
  138. package/dist/provider-openai/OpenAiQueuedProvider.d.ts +4 -4
  139. package/dist/provider-openai/OpenAiQueuedProvider.d.ts.map +1 -1
  140. package/dist/provider-openai/common/OpenAI_Client.d.ts.map +1 -1
  141. package/dist/provider-openai/common/OpenAI_CountTokens.browser.d.ts.map +1 -1
  142. package/dist/provider-openai/common/OpenAI_CountTokens.d.ts.map +1 -1
  143. package/dist/provider-openai/common/OpenAI_JobRunFns.browser.d.ts.map +1 -1
  144. package/dist/provider-openai/common/OpenAI_JobRunFns.d.ts.map +1 -1
  145. package/dist/provider-openai/common/OpenAI_ModelSearch.d.ts.map +1 -1
  146. package/dist/provider-openai/common/OpenAI_TextEmbedding.d.ts.map +1 -1
  147. package/dist/provider-openai/common/OpenAI_TextGeneration.d.ts.map +1 -1
  148. package/dist/provider-openai/common/OpenAI_TextRewriter.d.ts.map +1 -1
  149. package/dist/provider-openai/common/OpenAI_TextSummary.d.ts.map +1 -1
  150. package/dist/provider-openai/index.browser.js +3 -4
  151. package/dist/provider-openai/index.browser.js.map +3 -3
  152. package/dist/provider-openai/index.js +3 -4
  153. package/dist/provider-openai/index.js.map +3 -3
  154. package/dist/provider-openai/runtime.browser.js +42 -225
  155. package/dist/provider-openai/runtime.browser.js.map +14 -14
  156. package/dist/provider-openai/runtime.js +42 -225
  157. package/dist/provider-openai/runtime.js.map +14 -14
  158. package/dist/provider-tf-mediapipe/TensorFlowMediaPipeQueuedProvider.d.ts +3 -3
  159. package/dist/provider-tf-mediapipe/TensorFlowMediaPipeQueuedProvider.d.ts.map +1 -1
  160. package/dist/provider-tf-mediapipe/common/TFMP_ImageEmbedding.d.ts.map +1 -1
  161. package/dist/provider-tf-mediapipe/common/TFMP_JobRunFns.d.ts +18 -11
  162. package/dist/provider-tf-mediapipe/common/TFMP_JobRunFns.d.ts.map +1 -1
  163. package/dist/provider-tf-mediapipe/common/TFMP_ModelSearch.d.ts.map +1 -1
  164. package/dist/provider-tf-mediapipe/common/TFMP_Unload.d.ts.map +1 -1
  165. package/dist/provider-tf-mediapipe/index.js +3 -3
  166. package/dist/provider-tf-mediapipe/index.js.map +3 -3
  167. package/dist/provider-tf-mediapipe/runtime.js +37 -7
  168. package/dist/provider-tf-mediapipe/runtime.js.map +8 -7
  169. package/package.json +31 -19
  170. package/dist/provider-anthropic/common/Anthropic_ToolCalling.d.ts +0 -10
  171. package/dist/provider-anthropic/common/Anthropic_ToolCalling.d.ts.map +0 -1
  172. package/dist/provider-gemini/common/Gemini_ToolCalling.d.ts +0 -10
  173. package/dist/provider-gemini/common/Gemini_ToolCalling.d.ts.map +0 -1
  174. package/dist/provider-hf-inference/common/HFI_ToolCalling.d.ts +0 -10
  175. package/dist/provider-hf-inference/common/HFI_ToolCalling.d.ts.map +0 -1
  176. package/dist/provider-hf-transformers/common/HFT_ToolCalling.d.ts +0 -10
  177. package/dist/provider-hf-transformers/common/HFT_ToolCalling.d.ts.map +0 -1
  178. package/dist/provider-hf-transformers/common/HFT_ToolMarkup.d.ts +0 -40
  179. package/dist/provider-hf-transformers/common/HFT_ToolMarkup.d.ts.map +0 -1
  180. package/dist/provider-llamacpp/common/LlamaCpp_ToolCalling.d.ts +0 -10
  181. package/dist/provider-llamacpp/common/LlamaCpp_ToolCalling.d.ts.map +0 -1
  182. package/dist/provider-ollama/common/Ollama_ToolCalling.d.ts +0 -16
  183. package/dist/provider-ollama/common/Ollama_ToolCalling.d.ts.map +0 -1
  184. package/dist/provider-openai/common/OpenAI_ToolCalling.d.ts +0 -10
  185. package/dist/provider-openai/common/OpenAI_ToolCalling.d.ts.map +0 -1
@@ -1,24 +1,24 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/provider-anthropic/common/Anthropic_Client.ts", "../src/provider-anthropic/common/Anthropic_Constants.ts", "../src/provider-anthropic/common/Anthropic_ModelSearch.ts", "../src/provider-anthropic/common/Anthropic_CountTokens.ts", "../src/provider-anthropic/common/Anthropic_ModelInfo.ts", "../src/provider-anthropic/common/Anthropic_StructuredGeneration.ts", "../src/provider-anthropic/common/Anthropic_TextGeneration.ts", "../src/provider-anthropic/common/Anthropic_TextRewriter.ts", "../src/provider-anthropic/common/Anthropic_TextSummary.ts", "../src/provider-anthropic/common/Anthropic_ToolCalling.ts", "../src/provider-anthropic/common/Anthropic_JobRunFns.ts", "../src/provider-anthropic/AnthropicQueuedProvider.ts", "../src/provider-anthropic/registerAnthropicInline.ts", "../src/provider-anthropic/registerAnthropicWorker.ts", "../src/provider-anthropic/AnthropicProvider.ts"],
3
+ "sources": ["../src/provider-anthropic/common/Anthropic_Client.ts", "../src/common/modelSearchQuery.ts", "../src/provider-anthropic/common/Anthropic_Constants.ts", "../src/provider-anthropic/common/Anthropic_ModelSearch.ts", "../src/provider-anthropic/common/Anthropic_CountTokens.ts", "../src/provider-anthropic/common/Anthropic_ModelInfo.ts", "../src/provider-anthropic/common/Anthropic_StructuredGeneration.ts", "../src/provider-anthropic/common/Anthropic_TextGeneration.ts", "../src/provider-anthropic/common/Anthropic_TextRewriter.ts", "../src/provider-anthropic/common/Anthropic_TextSummary.ts", "../src/provider-anthropic/common/Anthropic_JobRunFns.ts", "../src/provider-anthropic/AnthropicQueuedProvider.ts", "../src/provider-anthropic/registerAnthropicInline.ts", "../src/provider-anthropic/registerAnthropicWorker.ts", "../src/provider-anthropic/AnthropicProvider.ts"],
4
4
  "sourcesContent": [
5
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\n\nlet _sdk: typeof import(\"@anthropic-ai/sdk\") | undefined;\n\nexport async function loadAnthropicSDK() {\n if (!_sdk) {\n try {\n _sdk = await import(\"@anthropic-ai/sdk\");\n } catch {\n throw new Error(\n \"@anthropic-ai/sdk is required for Anthropic tasks. Install it with: bun add @anthropic-ai/sdk\"\n );\n }\n }\n return _sdk.default;\n}\n\ninterface ResolvedProviderConfig {\n readonly credential_key?: string;\n readonly api_key?: string;\n readonly model_name?: string;\n readonly base_url?: string;\n readonly max_tokens?: number;\n}\n\nexport async function getClient(model: AnthropicModelConfig | undefined) {\n const Anthropic = await loadAnthropicSDK();\n const config = model?.provider_config as ResolvedProviderConfig | undefined;\n const apiKey =\n config?.credential_key ||\n config?.api_key ||\n (typeof process !== \"undefined\" ? process.env?.ANTHROPIC_API_KEY : undefined);\n if (!apiKey) {\n throw new Error(\n \"Missing Anthropic API key: set provider_config.credential_key or the ANTHROPIC_API_KEY environment variable.\"\n );\n }\n return new Anthropic({\n apiKey,\n baseURL: config?.base_url || undefined,\n dangerouslyAllowBrowser: true,\n });\n}\n\nexport function getModelName(model: AnthropicModelConfig | undefined): string {\n const name = model?.provider_config?.model_name;\n if (!name) {\n throw new Error(\"Missing model name in provider_config.model_name.\");\n }\n return name;\n}\n\nexport function getMaxTokens(\n input: { maxTokens?: number },\n model: AnthropicModelConfig | undefined\n): number {\n return input.maxTokens ?? model?.provider_config?.max_tokens ?? 1024;\n}\n",
5
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\n\nlet _sdk: typeof import(\"@anthropic-ai/sdk\") | undefined;\n\nexport async function loadAnthropicSDK() {\n if (!_sdk) {\n try {\n _sdk = await import(\"@anthropic-ai/sdk\");\n } catch {\n throw new Error(\n \"@anthropic-ai/sdk is required for Anthropic tasks. Install it with: bun add @anthropic-ai/sdk\"\n );\n }\n }\n return _sdk.default;\n}\n\ninterface ResolvedProviderConfig {\n readonly credential_key?: string;\n readonly api_key?: string;\n readonly model_name?: string;\n readonly base_url?: string;\n readonly max_tokens?: number;\n}\n\nexport async function getClient(model: AnthropicModelConfig | undefined) {\n const Anthropic = await loadAnthropicSDK();\n const config = model?.provider_config as ResolvedProviderConfig | undefined;\n const apiKey =\n config?.credential_key ||\n config?.api_key ||\n (typeof process !== \"undefined\" ? process.env?.ANTHROPIC_API_KEY : undefined);\n if (!apiKey) {\n throw new Error(\n \"Missing Anthropic API key: set provider_config.credential_key or the ANTHROPIC_API_KEY environment variable.\"\n );\n }\n try {\n return new Anthropic({\n apiKey,\n baseURL: config?.base_url || undefined,\n dangerouslyAllowBrowser:\n typeof globalThis.document !== \"undefined\" ||\n \"WorkerGlobalScope\" in globalThis,\n });\n } catch (err) {\n throw new Error(\n `Failed to create Anthropic client: ${err instanceof Error ? err.message : \"unknown error\"}`\n );\n }\n}\n\nexport function getModelName(model: AnthropicModelConfig | undefined): string {\n const name = model?.provider_config?.model_name;\n if (!name) {\n throw new Error(\"Missing model name in provider_config.model_name.\");\n }\n return name;\n}\n\nexport function getMaxTokens(\n input: { maxTokens?: number },\n model: AnthropicModelConfig | undefined\n): number {\n return input.maxTokens ?? model?.provider_config?.max_tokens ?? 1024;\n}\n",
6
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { ModelSearchResultItem } from \"@workglow/ai\";\n\n/**\n * Normalized search string for model search, or undefined when absent or whitespace-only.\n */\nexport function normalizedModelSearchQuery(query: string | undefined): string | undefined {\n const t = query?.trim();\n return t ? t.toLowerCase() : undefined;\n}\n\n/**\n * Filter static/SDK model rows by optional query (substring match on label and id).\n */\nexport function filterLabeledModelsByQuery(\n models: ReadonlyArray<{ label: string; value: string }>,\n query: string | undefined\n): Array<{ label: string; value: string }> {\n const q = normalizedModelSearchQuery(query);\n if (!q) return [...models];\n return models.filter(\n (m) => m.value.toLowerCase().includes(q) || m.label.toLowerCase().includes(q)\n );\n}\n\n/**\n * Filter {@link ModelSearchResultItem} rows by optional query.\n */\nexport function filterModelSearchResultsByQuery(\n results: ModelSearchResultItem[],\n query: string | undefined\n): ModelSearchResultItem[] {\n const q = normalizedModelSearchQuery(query);\n if (!q) return results;\n return results.filter(\n (m) =>\n m.id.toLowerCase().includes(q) ||\n m.label.toLowerCase().includes(q) ||\n m.description.toLowerCase().includes(q)\n );\n}\n",
6
7
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const ANTHROPIC = \"ANTHROPIC\";\n",
7
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n ModelSearchResultItem,\n ModelSearchTaskInput,\n ModelSearchTaskOutput,\n} from \"@workglow/ai\";\nimport { ANTHROPIC } from \"./Anthropic_Constants\";\nimport { loadAnthropicSDK } from \"./Anthropic_Client\";\n\nconst ANTHROPIC_FALLBACK: Array<{ label: string; value: string }> = [\n { label: \"claude-opus-4-20250514\", value: \"claude-opus-4-20250514\" },\n { label: \"claude-sonnet-4-20250514\", value: \"claude-sonnet-4-20250514\" },\n { label: \"claude-haiku-4-5-20251001\", value: \"claude-haiku-4-5-20251001\" },\n { label: \"claude-3-5-sonnet-20241022\", value: \"claude-3-5-sonnet-20241022\" },\n { label: \"claude-3-5-haiku-20241022\", value: \"claude-3-5-haiku-20241022\" },\n];\n\nasync function listAnthropicModels(): Promise<Array<{ label: string; value: string }>> {\n const Anthropic = await loadAnthropicSDK();\n const client = new Anthropic();\n const models: Array<{ label: string; value: string }> = [];\n for await (const m of client.beta.models.list()) {\n models.push({ label: `${m.id} ${m.display_name}`, value: m.id });\n }\n return models;\n}\n\nfunction mapModelList(models: Array<{ label: string; value: string }>): ModelSearchResultItem[] {\n return models.map((m) => ({\n id: m.value,\n label: m.label,\n description: \"\",\n record: {\n model_id: m.value,\n provider: ANTHROPIC,\n title: m.value,\n description: \"\",\n tasks: [],\n provider_config: { model_name: m.value },\n metadata: {},\n },\n raw: m,\n }));\n}\n\nexport const Anthropic_ModelSearch: AiProviderRunFn<\n ModelSearchTaskInput,\n ModelSearchTaskOutput\n> = async () => {\n let models: Array<{ label: string; value: string }>;\n try {\n models = await listAnthropicModels();\n } catch {\n models = ANTHROPIC_FALLBACK;\n }\n return { results: mapModelList(models) };\n};\n",
8
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderReactiveRunFn,\n AiProviderRunFn,\n CountTokensTaskInput,\n CountTokensTaskOutput,\n} from \"@workglow/ai\";\nimport { getLogger } from \"@workglow/util/worker\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\nimport { getClient, getModelName } from \"./Anthropic_Client\";\n\nexport const Anthropic_CountTokens: AiProviderRunFn<\n CountTokensTaskInput,\n CountTokensTaskOutput,\n AnthropicModelConfig\n> = async (input, model, onProgress, signal) => {\n if (Array.isArray(input.text)) {\n getLogger().warn(\n \"Anthropic_CountTokens: array input received; processing sequentially (no native batch support)\"\n );\n const texts = input.text as string[];\n const counts: number[] = [];\n for (const item of texts) {\n const r = await Anthropic_CountTokens({ ...input, text: item }, model, onProgress, signal);\n counts.push(r.count as number);\n }\n return { count: counts };\n }\n\n const client = await getClient(model);\n const result = await client.messages.countTokens({\n model: getModelName(model),\n messages: [{ role: \"user\", content: input.text as string }],\n });\n return { count: result.input_tokens };\n};\n\nexport const Anthropic_CountTokens_Reactive: AiProviderReactiveRunFn<\n CountTokensTaskInput,\n CountTokensTaskOutput,\n AnthropicModelConfig\n> = async (input, _output, _model) => {\n if (Array.isArray(input.text)) {\n return { count: (input.text as string[]).map((t) => Math.ceil(t.length / 4)) };\n }\n return { count: Math.ceil((input.text as string).length / 4) };\n};\n",
8
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n ModelSearchResultItem,\n ModelSearchTaskInput,\n ModelSearchTaskOutput,\n} from \"@workglow/ai\";\nimport { filterLabeledModelsByQuery } from \"../../common/modelSearchQuery\";\nimport { ANTHROPIC } from \"./Anthropic_Constants\";\nimport { loadAnthropicSDK } from \"./Anthropic_Client\";\n\nconst ANTHROPIC_FALLBACK: Array<{ label: string; value: string }> = [\n { label: \"claude-opus-4-20250514\", value: \"claude-opus-4-20250514\" },\n { label: \"claude-sonnet-4-20250514\", value: \"claude-sonnet-4-20250514\" },\n { label: \"claude-haiku-4-5-20251001\", value: \"claude-haiku-4-5-20251001\" },\n { label: \"claude-3-5-sonnet-20241022\", value: \"claude-3-5-sonnet-20241022\" },\n { label: \"claude-3-5-haiku-20241022\", value: \"claude-3-5-haiku-20241022\" },\n];\n\nasync function listAnthropicModels(): Promise<Array<{ label: string; value: string }>> {\n const Anthropic = await loadAnthropicSDK();\n const client = new Anthropic();\n const models: Array<{ label: string; value: string }> = [];\n for await (const m of client.beta.models.list()) {\n models.push({ label: `${m.id} ${m.display_name}`, value: m.id });\n }\n return models;\n}\n\nfunction mapModelList(models: Array<{ label: string; value: string }>): ModelSearchResultItem[] {\n return models.map((m) => ({\n id: m.value,\n label: m.label,\n description: \"\",\n record: {\n model_id: m.value,\n provider: ANTHROPIC,\n title: m.value,\n description: \"\",\n tasks: [],\n provider_config: { model_name: m.value },\n metadata: {},\n },\n raw: m,\n }));\n}\n\nexport const Anthropic_ModelSearch: AiProviderRunFn<\n ModelSearchTaskInput,\n ModelSearchTaskOutput\n> = async (input) => {\n let models: Array<{ label: string; value: string }>;\n try {\n models = await listAnthropicModels();\n } catch {\n models = ANTHROPIC_FALLBACK;\n }\n models = filterLabeledModelsByQuery(models, input.query);\n return { results: mapModelList(models) };\n};\n",
9
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderReactiveRunFn,\n AiProviderRunFn,\n CountTokensTaskInput,\n CountTokensTaskOutput,\n} from \"@workglow/ai\";\nimport { getLogger } from \"@workglow/util/worker\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\nimport { getClient, getModelName } from \"./Anthropic_Client\";\n\nexport const Anthropic_CountTokens: AiProviderRunFn<\n CountTokensTaskInput,\n CountTokensTaskOutput,\n AnthropicModelConfig\n> = async (input, model, onProgress, signal) => {\n const client = await getClient(model);\n const result = await client.messages.countTokens({\n model: getModelName(model),\n messages: [{ role: \"user\", content: input.text }],\n });\n return { count: result.input_tokens };\n};\n\nexport const Anthropic_CountTokens_Reactive: AiProviderReactiveRunFn<\n CountTokensTaskInput,\n CountTokensTaskOutput,\n AnthropicModelConfig\n> = async (input, _output, _model) => {\n return { count: Math.ceil(input.text.length / 4) };\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 { AiProviderRunFn, ModelInfoTaskInput, ModelInfoTaskOutput } from \"@workglow/ai\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\n\nexport const Anthropic_ModelInfo: AiProviderRunFn<\n ModelInfoTaskInput,\n ModelInfoTaskOutput,\n AnthropicModelConfig\n> = async (input) => {\n return {\n model: input.model,\n is_local: false,\n is_remote: true,\n supports_browser: true,\n supports_node: true,\n is_cached: false,\n is_loaded: false,\n file_sizes: null,\n };\n};\n",
10
11
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n AiProviderStreamFn,\n StructuredGenerationTaskInput,\n StructuredGenerationTaskOutput,\n} from \"@workglow/ai\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\nimport { parsePartialJson } from \"@workglow/util/worker\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\nimport { getClient, getMaxTokens, getModelName } from \"./Anthropic_Client\";\n\nexport const Anthropic_StructuredGeneration: AiProviderRunFn<\n StructuredGenerationTaskInput,\n StructuredGenerationTaskOutput,\n AnthropicModelConfig\n> = async (input, model, update_progress, signal, outputSchema) => {\n update_progress(0, \"Starting Anthropic structured generation\");\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const schema = input.outputSchema ?? outputSchema;\n\n const response = await client.messages.create(\n {\n model: modelName,\n messages: [{ role: \"user\", content: input.prompt as string }],\n tools: [\n {\n name: \"structured_output\",\n description: \"Output structured data conforming to the schema\",\n input_schema: schema as any,\n },\n ],\n tool_choice: { type: \"tool\" as const, name: \"structured_output\" },\n max_tokens: getMaxTokens(input, model),\n },\n { signal }\n );\n\n const toolBlock = response.content.find((b: any) => b.type === \"tool_use\") as any;\n const object = toolBlock?.input ?? {};\n\n update_progress(100, \"Completed Anthropic structured generation\");\n return { object };\n};\n\nexport const Anthropic_StructuredGeneration_Stream: AiProviderStreamFn<\n StructuredGenerationTaskInput,\n StructuredGenerationTaskOutput,\n AnthropicModelConfig\n> = async function* (\n input,\n model,\n signal,\n outputSchema\n): AsyncIterable<StreamEvent<StructuredGenerationTaskOutput>> {\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const schema = input.outputSchema ?? outputSchema;\n\n const stream = client.messages.stream(\n {\n model: modelName,\n messages: [{ role: \"user\", content: input.prompt as string }],\n tools: [\n {\n name: \"structured_output\",\n description: \"Output structured data conforming to the schema\",\n input_schema: schema as any,\n },\n ],\n tool_choice: { type: \"tool\" as const, name: \"structured_output\" },\n max_tokens: getMaxTokens(input, model),\n },\n { signal }\n );\n\n let accumulatedJson = \"\";\n for await (const event of stream) {\n if (event.type === \"content_block_delta\" && (event.delta as any).type === \"input_json_delta\") {\n accumulatedJson += (event.delta as any).partial_json;\n const partial = parsePartialJson(accumulatedJson);\n if (partial !== undefined) {\n yield { type: \"object-delta\", port: \"object\", objectDelta: partial };\n }\n }\n }\n\n let finalObject: Record<string, unknown>;\n try {\n finalObject = JSON.parse(accumulatedJson);\n } catch {\n finalObject = parsePartialJson(accumulatedJson) ?? {};\n }\n yield { type: \"finish\", data: { object: finalObject } as StructuredGenerationTaskOutput };\n};\n",
11
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRunFn, AiProviderStreamFn, TextGenerationTaskInput, TextGenerationTaskOutput } from \"@workglow/ai\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\nimport { getLogger } from \"@workglow/util/worker\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\nimport { getClient, getMaxTokens, getModelName } from \"./Anthropic_Client\";\n\nexport const Anthropic_TextGeneration: AiProviderRunFn<\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n AnthropicModelConfig\n> = async (input, model, update_progress, signal) => {\n if (Array.isArray(input.prompt)) {\n getLogger().warn(\n \"Anthropic_TextGeneration: array input received; processing sequentially (no native batch support)\"\n );\n const prompts = input.prompt as string[];\n const results: string[] = [];\n for (const item of prompts) {\n const r = await Anthropic_TextGeneration(\n { ...input, prompt: item },\n model,\n update_progress,\n signal\n );\n results.push(r.text as string);\n }\n return { text: results };\n }\n\n const logger = getLogger();\n const timerLabel = `anthropic:TextGeneration:${model?.provider_config?.model_name}`;\n logger.time(timerLabel, { model: model?.provider_config?.model_name });\n\n update_progress(0, \"Starting Anthropic text generation\");\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const response = await client.messages.create(\n {\n model: modelName,\n messages: [{ role: \"user\", content: input.prompt as string }],\n max_tokens: getMaxTokens(input, model),\n temperature: input.temperature,\n top_p: input.topP,\n },\n { signal }\n );\n\n const text = response.content[0]?.type === \"text\" ? response.content[0].text : \"\";\n\n update_progress(100, \"Completed Anthropic text generation\");\n logger.timeEnd(timerLabel, { model: model?.provider_config?.model_name });\n return { text };\n};\n\nexport const Anthropic_TextGeneration_Stream: AiProviderStreamFn<\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n AnthropicModelConfig\n> = async function* (input, model, signal): AsyncIterable<StreamEvent<TextGenerationTaskOutput>> {\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const stream = client.messages.stream(\n {\n model: modelName,\n messages: [{ role: \"user\", content: input.prompt as string }],\n max_tokens: getMaxTokens(input, model),\n temperature: input.temperature,\n top_p: input.topP,\n },\n { signal }\n );\n\n for await (const event of stream) {\n if (event.type === \"content_block_delta\" && event.delta.type === \"text_delta\") {\n yield { type: \"text-delta\", port: \"text\", textDelta: event.delta.text };\n }\n }\n yield { type: \"finish\", data: {} as TextGenerationTaskOutput };\n};\n",
12
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRunFn, AiProviderStreamFn, TextRewriterTaskInput, TextRewriterTaskOutput } from \"@workglow/ai\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\nimport { getLogger } from \"@workglow/util/worker\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\nimport { getClient, getMaxTokens, getModelName } from \"./Anthropic_Client\";\n\nexport const Anthropic_TextRewriter: AiProviderRunFn<\n TextRewriterTaskInput,\n TextRewriterTaskOutput,\n AnthropicModelConfig\n> = async (input, model, update_progress, signal) => {\n if (Array.isArray(input.text)) {\n getLogger().warn(\n \"Anthropic_TextRewriter: array input received; processing sequentially (no native batch support)\"\n );\n const texts = input.text as string[];\n const results: string[] = [];\n for (const item of texts) {\n const r = await Anthropic_TextRewriter(\n { ...input, text: item },\n model,\n update_progress,\n signal\n );\n results.push(r.text as string);\n }\n return { text: results };\n }\n\n update_progress(0, \"Starting Anthropic text rewriting\");\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const response = await client.messages.create(\n {\n model: modelName,\n system: input.prompt as string,\n messages: [{ role: \"user\", content: input.text as string }],\n max_tokens: getMaxTokens({}, model),\n },\n { signal }\n );\n\n const text = response.content[0]?.type === \"text\" ? response.content[0].text : \"\";\n\n update_progress(100, \"Completed Anthropic text rewriting\");\n return { text };\n};\n\nexport const Anthropic_TextRewriter_Stream: AiProviderStreamFn<\n TextRewriterTaskInput,\n TextRewriterTaskOutput,\n AnthropicModelConfig\n> = async function* (input, model, signal): AsyncIterable<StreamEvent<TextRewriterTaskOutput>> {\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const stream = client.messages.stream(\n {\n model: modelName,\n system: input.prompt as string,\n messages: [{ role: \"user\", content: input.text as string }],\n max_tokens: getMaxTokens({}, model),\n },\n { signal }\n );\n\n for await (const event of stream) {\n if (event.type === \"content_block_delta\" && event.delta.type === \"text_delta\") {\n yield { type: \"text-delta\", port: \"text\", textDelta: event.delta.text };\n }\n }\n yield { type: \"finish\", data: {} as TextRewriterTaskOutput };\n};\n",
13
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRunFn, AiProviderStreamFn, TextSummaryTaskInput, TextSummaryTaskOutput } from \"@workglow/ai\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\nimport { getLogger } from \"@workglow/util/worker\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\nimport { getClient, getMaxTokens, getModelName } from \"./Anthropic_Client\";\n\nexport const Anthropic_TextSummary: AiProviderRunFn<\n TextSummaryTaskInput,\n TextSummaryTaskOutput,\n AnthropicModelConfig\n> = async (input, model, update_progress, signal) => {\n if (Array.isArray(input.text)) {\n getLogger().warn(\n \"Anthropic_TextSummary: array input received; processing sequentially (no native batch support)\"\n );\n const texts = input.text as string[];\n const results: string[] = [];\n for (const item of texts) {\n const r = await Anthropic_TextSummary(\n { ...input, text: item },\n model,\n update_progress,\n signal\n );\n results.push(r.text as string);\n }\n return { text: results };\n }\n\n update_progress(0, \"Starting Anthropic text summarization\");\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const response = await client.messages.create(\n {\n model: modelName,\n system: \"Summarize the following text concisely.\",\n messages: [{ role: \"user\", content: input.text as string }],\n max_tokens: getMaxTokens({}, model),\n },\n { signal }\n );\n\n const text = response.content[0]?.type === \"text\" ? response.content[0].text : \"\";\n\n update_progress(100, \"Completed Anthropic text summarization\");\n return { text };\n};\n\nexport const Anthropic_TextSummary_Stream: AiProviderStreamFn<\n TextSummaryTaskInput,\n TextSummaryTaskOutput,\n AnthropicModelConfig\n> = async function* (input, model, signal): AsyncIterable<StreamEvent<TextSummaryTaskOutput>> {\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const stream = client.messages.stream(\n {\n model: modelName,\n system: \"Summarize the following text concisely.\",\n messages: [{ role: \"user\", content: input.text as string }],\n max_tokens: getMaxTokens({}, model),\n },\n { signal }\n );\n\n for await (const event of stream) {\n if (event.type === \"content_block_delta\" && event.delta.type === \"text_delta\") {\n yield { type: \"text-delta\", port: \"text\", textDelta: event.delta.text };\n }\n }\n yield { type: \"finish\", data: {} as TextSummaryTaskOutput };\n};\n",
14
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { buildToolDescription, filterValidToolCalls } from \"@workglow/ai/worker\";\nimport type {\n AiProviderRunFn,\n AiProviderStreamFn,\n ToolCall,\n ToolCallingTaskInput,\n ToolCallingTaskOutput,\n ToolCalls,\n ToolDefinition,\n} from \"@workglow/ai\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\nimport { getLogger, parsePartialJson } from \"@workglow/util/worker\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\nimport { getClient, getMaxTokens, getModelName } from \"./Anthropic_Client\";\n\nfunction mapUserContentToAnthropic(content: unknown): any {\n if (typeof content === \"string\") return content;\n if (!Array.isArray(content)) return content;\n const parts: any[] = [];\n for (const block of content as Array<Record<string, unknown>>) {\n if (block.type === \"text\") {\n parts.push({ type: \"text\", text: block.text });\n } else if (block.type === \"image\") {\n parts.push({\n type: \"image\",\n source: {\n type: \"base64\",\n media_type: block.mimeType as string,\n data: block.data as string,\n },\n });\n }\n }\n return parts;\n}\n\nfunction mapToolResultContentToAnthropic(content: unknown): any {\n if (typeof content === \"string\") return content;\n if (!Array.isArray(content)) return content;\n const parts: any[] = [];\n for (const block of content as Array<Record<string, unknown>>) {\n if (block.type === \"text\") {\n parts.push({ type: \"text\", text: block.text });\n } else if (block.type === \"image\") {\n parts.push({\n type: \"image\",\n source: {\n type: \"base64\",\n media_type: block.mimeType as string,\n data: block.data as string,\n },\n });\n }\n }\n return parts;\n}\n\nfunction buildAnthropicMessages(input: ToolCallingTaskInput): any[] {\n const inputMessages = input.messages;\n if (!inputMessages || inputMessages.length === 0) {\n return [{ role: \"user\", content: input.prompt }];\n }\n\n const messages: any[] = [];\n for (const msg of inputMessages) {\n if (msg.role === \"user\") {\n messages.push({ role: \"user\", content: mapUserContentToAnthropic(msg.content) });\n } else if (msg.role === \"assistant\" && Array.isArray(msg.content)) {\n const blocks = msg.content.map((block: any) => {\n if (block.type === \"text\") return { type: \"text\", text: block.text };\n if (block.type === \"tool_use\") {\n return { type: \"tool_use\", id: block.id, name: block.name, input: block.input };\n }\n return block;\n });\n messages.push({ role: \"assistant\", content: blocks });\n } else if (msg.role === \"tool\" && Array.isArray(msg.content)) {\n const blocks = msg.content.map((block: any) => ({\n type: \"tool_result\",\n tool_use_id: block.tool_use_id,\n content: mapToolResultContentToAnthropic(block.content),\n ...(block.is_error && { is_error: true }),\n }));\n messages.push({ role: \"user\", content: blocks });\n }\n }\n return messages;\n}\n\nfunction mapAnthropicToolChoice(\n toolChoice: string | undefined\n): { type: \"auto\" } | { type: \"any\" } | { type: \"tool\"; name: string } | undefined {\n if (!toolChoice || toolChoice === \"auto\") return { type: \"auto\" };\n if (toolChoice === \"none\") return undefined;\n if (toolChoice === \"required\") return { type: \"any\" };\n return { type: \"tool\", name: toolChoice };\n}\n\nexport const Anthropic_ToolCalling: AiProviderRunFn<\n ToolCallingTaskInput,\n ToolCallingTaskOutput,\n AnthropicModelConfig\n> = async (input, model, update_progress, signal) => {\n if (Array.isArray(input.prompt)) {\n getLogger().warn(\n \"Anthropic_ToolCalling: array input received; processing sequentially (no native batch support)\"\n );\n const prompts = input.prompt as string[];\n const texts: string[] = [];\n const toolCallsList: ToolCalls[] = [];\n for (const item of prompts) {\n const r = await Anthropic_ToolCalling(\n { ...input, prompt: item },\n model,\n update_progress,\n signal\n );\n texts.push(r.text as string);\n toolCallsList.push(r.toolCalls as ToolCalls);\n }\n return { text: texts, toolCalls: toolCallsList } as unknown as ToolCallingTaskOutput;\n }\n\n update_progress(0, \"Starting Anthropic tool calling\");\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const tools = input.tools.map((t: ToolDefinition) => ({\n name: t.name,\n description: buildToolDescription(t),\n input_schema: t.inputSchema as any,\n }));\n\n const toolChoice = mapAnthropicToolChoice(input.toolChoice);\n\n const messages = buildAnthropicMessages(input);\n\n const params: any = {\n model: modelName,\n messages,\n max_tokens: getMaxTokens(input, model),\n temperature: input.temperature,\n };\n\n if (input.systemPrompt) {\n params.system = input.systemPrompt;\n }\n\n if (toolChoice !== undefined) {\n params.tools = tools;\n params.tool_choice = toolChoice;\n }\n\n const response = await client.messages.create(params, { signal });\n\n const text = response.content\n .filter((b: any) => b.type === \"text\")\n .map((b: any) => b.text)\n .join(\"\");\n\n const toolCalls: ToolCalls = [];\n response.content\n .filter((b: any) => b.type === \"tool_use\")\n .forEach((b: any) => {\n toolCalls.push({\n id: b.id as string,\n name: b.name as string,\n input: (b.input as Record<string, unknown>) ?? {},\n });\n });\n\n update_progress(100, \"Completed Anthropic tool calling\");\n return { text, toolCalls: filterValidToolCalls(toolCalls, input.tools) };\n};\n\nexport const Anthropic_ToolCalling_Stream: AiProviderStreamFn<\n ToolCallingTaskInput,\n ToolCallingTaskOutput,\n AnthropicModelConfig\n> = async function* (input, model, signal): AsyncIterable<StreamEvent<ToolCallingTaskOutput>> {\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const tools = input.tools.map((t: ToolDefinition) => ({\n name: t.name,\n description: buildToolDescription(t),\n input_schema: t.inputSchema as any,\n }));\n\n const toolChoice = mapAnthropicToolChoice(input.toolChoice);\n\n const messages = buildAnthropicMessages(input);\n\n const params: any = {\n model: modelName,\n messages,\n max_tokens: getMaxTokens(input, model),\n temperature: input.temperature,\n };\n\n if (input.systemPrompt) {\n params.system = input.systemPrompt;\n }\n\n if (toolChoice !== undefined) {\n params.tools = tools;\n params.tool_choice = toolChoice;\n }\n\n const stream = client.messages.stream(params, { signal });\n\n const blockMeta = new Map<number, { type: string; id?: string; name?: string; json: string }>();\n let accumulatedText = \"\";\n const toolCallMap = new Map<string, ToolCall>();\n\n for await (const event of stream) {\n if (event.type === \"content_block_start\") {\n const block = (event as any).content_block;\n const index = (event as any).index as number;\n if (block.type === \"tool_use\") {\n blockMeta.set(index, {\n type: \"tool_use\",\n id: block.id,\n name: block.name,\n json: \"\",\n });\n } else if (block.type === \"text\") {\n blockMeta.set(index, { type: \"text\", json: \"\" });\n }\n } else if (event.type === \"content_block_delta\") {\n const index = (event as any).index as number;\n const delta = event.delta as any;\n if (delta.type === \"text_delta\") {\n accumulatedText += delta.text;\n yield { type: \"text-delta\", port: \"text\", textDelta: delta.text };\n } else if (delta.type === \"input_json_delta\") {\n const meta = blockMeta.get(index);\n if (meta) {\n meta.json += delta.partial_json;\n let parsedInput: Record<string, unknown>;\n try {\n parsedInput = JSON.parse(meta.json);\n } catch {\n const partial = parsePartialJson(meta.json);\n parsedInput = (partial as Record<string, unknown>) ?? {};\n }\n toolCallMap.set(meta.id ?? \"\", {\n id: meta.id ?? \"\",\n name: meta.name ?? \"\",\n input: parsedInput,\n });\n yield { type: \"object-delta\", port: \"toolCalls\", objectDelta: [...toolCallMap.values()] };\n }\n }\n } else if (event.type === \"content_block_stop\") {\n const index = (event as any).index as number;\n const meta = blockMeta.get(index);\n if (meta?.type === \"tool_use\") {\n let finalInput: Record<string, unknown>;\n try {\n finalInput = JSON.parse(meta.json);\n } catch {\n finalInput = (parsePartialJson(meta.json) as Record<string, unknown>) ?? {};\n }\n const id = meta.id ?? \"\";\n toolCallMap.set(id, { id, name: meta.name ?? \"\", input: finalInput });\n yield { type: \"object-delta\", port: \"toolCalls\", objectDelta: [...toolCallMap.values()] };\n }\n blockMeta.delete(index);\n }\n }\n\n const validToolCalls = filterValidToolCalls([...toolCallMap.values()], input.tools);\n yield {\n type: \"finish\",\n data: { text: accumulatedText, toolCalls: validToolCalls } as ToolCallingTaskOutput,\n };\n};\n",
15
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderReactiveRunFn, AiProviderRunFn, AiProviderStreamFn } from \"@workglow/ai\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\nimport { Anthropic_ModelSearch } from \"./Anthropic_ModelSearch\";\n\nexport { getClient, getMaxTokens, getModelName, loadAnthropicSDK } from \"./Anthropic_Client\";\n\nimport { Anthropic_CountTokens, Anthropic_CountTokens_Reactive } from \"./Anthropic_CountTokens\";\nimport { Anthropic_ModelInfo } from \"./Anthropic_ModelInfo\";\nimport {\n Anthropic_StructuredGeneration,\n Anthropic_StructuredGeneration_Stream,\n} from \"./Anthropic_StructuredGeneration\";\nimport {\n Anthropic_TextGeneration,\n Anthropic_TextGeneration_Stream,\n} from \"./Anthropic_TextGeneration\";\nimport { Anthropic_TextRewriter, Anthropic_TextRewriter_Stream } from \"./Anthropic_TextRewriter\";\nimport { Anthropic_TextSummary, Anthropic_TextSummary_Stream } from \"./Anthropic_TextSummary\";\nimport { Anthropic_ToolCalling, Anthropic_ToolCalling_Stream } from \"./Anthropic_ToolCalling\";\n\nexport const ANTHROPIC_TASKS: Record<string, AiProviderRunFn<any, any, AnthropicModelConfig>> = {\n CountTokensTask: Anthropic_CountTokens,\n ModelInfoTask: Anthropic_ModelInfo,\n TextGenerationTask: Anthropic_TextGeneration,\n TextRewriterTask: Anthropic_TextRewriter,\n TextSummaryTask: Anthropic_TextSummary,\n StructuredGenerationTask: Anthropic_StructuredGeneration,\n ToolCallingTask: Anthropic_ToolCalling,\n ModelSearchTask: Anthropic_ModelSearch,\n};\n\nexport const ANTHROPIC_STREAM_TASKS: Record<\n string,\n AiProviderStreamFn<any, any, AnthropicModelConfig>\n> = {\n TextGenerationTask: Anthropic_TextGeneration_Stream,\n TextRewriterTask: Anthropic_TextRewriter_Stream,\n TextSummaryTask: Anthropic_TextSummary_Stream,\n StructuredGenerationTask: Anthropic_StructuredGeneration_Stream,\n ToolCallingTask: Anthropic_ToolCalling_Stream,\n};\n\nexport const ANTHROPIC_REACTIVE_TASKS: Record<\n string,\n AiProviderReactiveRunFn<any, any, AnthropicModelConfig>\n> = {\n CountTokensTask: Anthropic_CountTokens_Reactive,\n};\n",
16
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n QueuedAiProvider,\n type AiProviderReactiveRunFn,\n type AiProviderRunFn,\n type AiProviderStreamFn,\n} from \"@workglow/ai\";\nimport { ANTHROPIC } from \"./common/Anthropic_Constants\";\nimport type { AnthropicModelConfig } from \"./common/Anthropic_ModelSchema\";\n\n/** Main-thread registration (inline or worker-backed); creates the default job queue. */\nexport class AnthropicQueuedProvider extends QueuedAiProvider<AnthropicModelConfig> {\n readonly name = ANTHROPIC;\n readonly displayName = \"Anthropic\";\n readonly isLocal = false;\n readonly supportsBrowser = true;\n\n readonly taskTypes = [\n \"CountTokensTask\",\n \"ModelInfoTask\",\n \"TextGenerationTask\",\n \"TextRewriterTask\",\n \"TextSummaryTask\",\n \"StructuredGenerationTask\",\n \"ToolCallingTask\",\n \"ModelSearchTask\",\n ] as const;\n\n constructor(\n tasks?: Record<string, AiProviderRunFn<any, any, AnthropicModelConfig>>,\n streamTasks?: Record<string, AiProviderStreamFn<any, any, AnthropicModelConfig>>,\n reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, AnthropicModelConfig>>\n ) {\n super(tasks, streamTasks, reactiveTasks);\n }\n}\n",
12
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n AiProviderStreamFn,\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n} from \"@workglow/ai\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\nimport { getLogger } from \"@workglow/util/worker\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\nimport { getClient, getMaxTokens, getModelName } from \"./Anthropic_Client\";\n\nexport const Anthropic_TextGeneration: AiProviderRunFn<\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n AnthropicModelConfig\n> = async (input, model, update_progress, signal) => {\n const logger = getLogger();\n const timerLabel = `anthropic:TextGeneration:${model?.provider_config?.model_name}`;\n logger.time(timerLabel, { model: model?.provider_config?.model_name });\n\n update_progress(0, \"Starting Anthropic text generation\");\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const response = await client.messages.create(\n {\n model: modelName,\n messages: [{ role: \"user\", content: input.prompt }],\n max_tokens: getMaxTokens(input, model),\n temperature: input.temperature,\n top_p: input.topP,\n },\n { signal }\n );\n\n const text = response.content[0]?.type === \"text\" ? response.content[0].text : \"\";\n\n update_progress(100, \"Completed Anthropic text generation\");\n logger.timeEnd(timerLabel, { model: model?.provider_config?.model_name });\n return { text };\n};\n\nexport const Anthropic_TextGeneration_Stream: AiProviderStreamFn<\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n AnthropicModelConfig\n> = async function* (input, model, signal): AsyncIterable<StreamEvent<TextGenerationTaskOutput>> {\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const stream = client.messages.stream(\n {\n model: modelName,\n messages: [{ role: \"user\", content: input.prompt }],\n max_tokens: getMaxTokens(input, model),\n temperature: input.temperature,\n top_p: input.topP,\n },\n { signal }\n );\n\n for await (const event of stream) {\n if (event.type === \"content_block_delta\" && event.delta.type === \"text_delta\") {\n yield { type: \"text-delta\", port: \"text\", textDelta: event.delta.text };\n }\n }\n yield { type: \"finish\", data: {} as TextGenerationTaskOutput };\n};\n",
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 { getLogger } from \"@workglow/util/worker\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\nimport { getClient, getMaxTokens, getModelName } from \"./Anthropic_Client\";\n\nexport const Anthropic_TextRewriter: AiProviderRunFn<\n TextRewriterTaskInput,\n TextRewriterTaskOutput,\n AnthropicModelConfig\n> = async (input, model, update_progress, signal) => {\n update_progress(0, \"Starting Anthropic text rewriting\");\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const response = await client.messages.create(\n {\n model: modelName,\n system: input.prompt,\n messages: [{ role: \"user\", content: input.text }],\n max_tokens: getMaxTokens({}, model),\n },\n { signal }\n );\n\n const text = response.content[0]?.type === \"text\" ? response.content[0].text : \"\";\n\n update_progress(100, \"Completed Anthropic text rewriting\");\n return { text };\n};\n\nexport const Anthropic_TextRewriter_Stream: AiProviderStreamFn<\n TextRewriterTaskInput,\n TextRewriterTaskOutput,\n AnthropicModelConfig\n> = async function* (input, model, signal): AsyncIterable<StreamEvent<TextRewriterTaskOutput>> {\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const stream = client.messages.stream(\n {\n model: modelName,\n system: input.prompt,\n messages: [{ role: \"user\", content: input.text }],\n max_tokens: getMaxTokens({}, model),\n },\n { signal }\n );\n\n for await (const event of stream) {\n if (event.type === \"content_block_delta\" && event.delta.type === \"text_delta\") {\n yield { type: \"text-delta\", port: \"text\", textDelta: event.delta.text };\n }\n }\n yield { type: \"finish\", data: {} as TextRewriterTaskOutput };\n};\n",
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 { getLogger } from \"@workglow/util/worker\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\nimport { getClient, getMaxTokens, getModelName } from \"./Anthropic_Client\";\n\nexport const Anthropic_TextSummary: AiProviderRunFn<\n TextSummaryTaskInput,\n TextSummaryTaskOutput,\n AnthropicModelConfig\n> = async (input, model, update_progress, signal) => {\n update_progress(0, \"Starting Anthropic text summarization\");\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const response = await client.messages.create(\n {\n model: modelName,\n system: \"Summarize the following text concisely.\",\n messages: [{ role: \"user\", content: input.text }],\n max_tokens: getMaxTokens({}, model),\n },\n { signal }\n );\n\n const text = response.content[0]?.type === \"text\" ? response.content[0].text : \"\";\n\n update_progress(100, \"Completed Anthropic text summarization\");\n return { text };\n};\n\nexport const Anthropic_TextSummary_Stream: AiProviderStreamFn<\n TextSummaryTaskInput,\n TextSummaryTaskOutput,\n AnthropicModelConfig\n> = async function* (input, model, signal): AsyncIterable<StreamEvent<TextSummaryTaskOutput>> {\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const stream = client.messages.stream(\n {\n model: modelName,\n system: \"Summarize the following text concisely.\",\n messages: [{ role: \"user\", content: input.text }],\n max_tokens: getMaxTokens({}, model),\n },\n { signal }\n );\n\n for await (const event of stream) {\n if (event.type === \"content_block_delta\" && event.delta.type === \"text_delta\") {\n yield { type: \"text-delta\", port: \"text\", textDelta: event.delta.text };\n }\n }\n yield { type: \"finish\", data: {} as TextSummaryTaskOutput };\n};\n",
15
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderReactiveRunFn, AiProviderRunFn, AiProviderStreamFn } from \"@workglow/ai\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\nimport { Anthropic_ModelSearch } from \"./Anthropic_ModelSearch\";\n\nexport { getClient, getMaxTokens, getModelName, loadAnthropicSDK } from \"./Anthropic_Client\";\n\nimport { Anthropic_CountTokens, Anthropic_CountTokens_Reactive } from \"./Anthropic_CountTokens\";\nimport { Anthropic_ModelInfo } from \"./Anthropic_ModelInfo\";\nimport {\n Anthropic_StructuredGeneration,\n Anthropic_StructuredGeneration_Stream,\n} from \"./Anthropic_StructuredGeneration\";\nimport {\n Anthropic_TextGeneration,\n Anthropic_TextGeneration_Stream,\n} from \"./Anthropic_TextGeneration\";\nimport { Anthropic_TextRewriter, Anthropic_TextRewriter_Stream } from \"./Anthropic_TextRewriter\";\nimport { Anthropic_TextSummary, Anthropic_TextSummary_Stream } from \"./Anthropic_TextSummary\";\nexport const ANTHROPIC_TASKS: Record<string, AiProviderRunFn<any, any, AnthropicModelConfig>> = {\n CountTokensTask: Anthropic_CountTokens,\n ModelInfoTask: Anthropic_ModelInfo,\n TextGenerationTask: Anthropic_TextGeneration,\n TextRewriterTask: Anthropic_TextRewriter,\n TextSummaryTask: Anthropic_TextSummary,\n StructuredGenerationTask: Anthropic_StructuredGeneration,\n ModelSearchTask: Anthropic_ModelSearch,\n};\n\nexport const ANTHROPIC_STREAM_TASKS: Record<\n string,\n AiProviderStreamFn<any, any, AnthropicModelConfig>\n> = {\n TextGenerationTask: Anthropic_TextGeneration_Stream,\n TextRewriterTask: Anthropic_TextRewriter_Stream,\n TextSummaryTask: Anthropic_TextSummary_Stream,\n StructuredGenerationTask: Anthropic_StructuredGeneration_Stream,\n};\n\nexport const ANTHROPIC_REACTIVE_TASKS: Record<\n string,\n AiProviderReactiveRunFn<any, any, AnthropicModelConfig>\n> = {\n CountTokensTask: Anthropic_CountTokens_Reactive,\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 { ANTHROPIC } from \"./common/Anthropic_Constants\";\nimport type { AnthropicModelConfig } from \"./common/Anthropic_ModelSchema\";\n\n/** Main-thread registration (inline or worker-backed). No queue uses direct execution. */\nexport class AnthropicQueuedProvider extends AiProvider<AnthropicModelConfig> {\n readonly name = ANTHROPIC;\n readonly displayName = \"Anthropic\";\n readonly isLocal = false;\n readonly supportsBrowser = true;\n\n readonly taskTypes = [\n \"CountTokensTask\",\n \"ModelInfoTask\",\n \"TextGenerationTask\",\n \"TextRewriterTask\",\n \"TextSummaryTask\",\n \"StructuredGenerationTask\",\n \"ModelSearchTask\",\n ] as const;\n\n constructor(\n tasks?: Record<string, AiProviderRunFn<any, any, AnthropicModelConfig>>,\n streamTasks?: Record<string, AiProviderStreamFn<any, any, AnthropicModelConfig>>,\n reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, AnthropicModelConfig>>\n ) {\n super(tasks, streamTasks, reactiveTasks);\n }\n}\n",
17
17
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRegisterOptions } from \"@workglow/ai\";\nimport {\n ANTHROPIC_REACTIVE_TASKS,\n ANTHROPIC_STREAM_TASKS,\n ANTHROPIC_TASKS,\n} from \"./common/Anthropic_JobRunFns\";\nimport { AnthropicQueuedProvider } from \"./AnthropicQueuedProvider\";\n\nexport async function registerAnthropicInline(options?: AiProviderRegisterOptions): Promise<void> {\n await new AnthropicQueuedProvider(\n ANTHROPIC_TASKS,\n ANTHROPIC_STREAM_TASKS,\n ANTHROPIC_REACTIVE_TASKS\n ).register(options ?? {});\n}\n",
18
18
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { getLogger, globalServiceRegistry, WORKER_SERVER } from \"@workglow/util/worker\";\nimport {\n ANTHROPIC_REACTIVE_TASKS,\n ANTHROPIC_STREAM_TASKS,\n ANTHROPIC_TASKS,\n} from \"./common/Anthropic_JobRunFns\";\nimport { AnthropicProvider } from \"./AnthropicProvider\";\n\nexport async function registerAnthropicWorker(): Promise<void> {\n const workerServer = globalServiceRegistry.get(WORKER_SERVER);\n new AnthropicProvider(\n ANTHROPIC_TASKS,\n ANTHROPIC_STREAM_TASKS,\n ANTHROPIC_REACTIVE_TASKS\n ).registerOnWorkerServer(workerServer);\n workerServer.sendReady();\n getLogger().info(\"Anthropic worker 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 { ANTHROPIC } from \"./common/Anthropic_Constants\";\nimport type { AnthropicModelConfig } from \"./common/Anthropic_ModelSchema\";\n\n/**\n * AI provider for Anthropic cloud models.\n *\n * Supports text generation, text rewriting, and text summarization via the\n * Anthropic Messages API using the `@anthropic-ai/sdk` SDK.\n *\n * Note: Anthropic does not offer an embeddings API, so TextEmbeddingTask\n * is not supported by this provider.\n *\n * Task run functions are injected via the constructor so that the SDK\n * is only imported where actually needed (inline mode, worker server), not on\n * the main thread in worker mode.\n *\n */\nexport class AnthropicProvider extends AiProvider<AnthropicModelConfig> {\n readonly name = ANTHROPIC;\n readonly displayName = \"Anthropic\";\n readonly isLocal = false;\n readonly supportsBrowser = true;\n\n readonly taskTypes = [\n \"CountTokensTask\",\n \"ModelInfoTask\",\n \"TextGenerationTask\",\n \"TextRewriterTask\",\n \"TextSummaryTask\",\n \"StructuredGenerationTask\",\n \"ToolCallingTask\",\n \"ModelSearchTask\",\n ] as const;\n\n constructor(\n tasks?: Record<string, AiProviderRunFn<any, any, AnthropicModelConfig>>,\n streamTasks?: Record<string, AiProviderStreamFn<any, any, AnthropicModelConfig>>,\n reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, AnthropicModelConfig>>\n ) {\n super(tasks, streamTasks, reactiveTasks);\n }\n}\n"
19
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n AiProvider,\n type AiProviderReactiveRunFn,\n type AiProviderRunFn,\n type AiProviderStreamFn,\n} from \"@workglow/ai/worker\";\nimport { ANTHROPIC } from \"./common/Anthropic_Constants\";\nimport type { AnthropicModelConfig } from \"./common/Anthropic_ModelSchema\";\n\n/**\n * AI provider for Anthropic cloud models.\n *\n * Supports text generation, text rewriting, and text summarization via the\n * Anthropic Messages API using the `@anthropic-ai/sdk` SDK.\n *\n * Note: Anthropic does not offer an embeddings API, so TextEmbeddingTask\n * is not supported by this provider.\n *\n * Task run functions are injected via the constructor so that the SDK\n * is only imported where actually needed (inline mode, worker server), not on\n * the main thread in worker mode.\n *\n */\nexport class AnthropicProvider extends AiProvider<AnthropicModelConfig> {\n readonly name = ANTHROPIC;\n readonly displayName = \"Anthropic\";\n readonly isLocal = false;\n readonly supportsBrowser = true;\n\n readonly taskTypes = [\n \"CountTokensTask\",\n \"ModelInfoTask\",\n \"TextGenerationTask\",\n \"TextRewriterTask\",\n \"TextSummaryTask\",\n \"StructuredGenerationTask\",\n \"ModelSearchTask\",\n ] as const;\n\n constructor(\n tasks?: Record<string, AiProviderRunFn<any, any, AnthropicModelConfig>>,\n streamTasks?: Record<string, AiProviderStreamFn<any, any, AnthropicModelConfig>>,\n reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, AnthropicModelConfig>>\n ) {\n super(tasks, streamTasks, reactiveTasks);\n }\n}\n"
20
20
  ],
21
- "mappings": "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",
22
- "debugId": "5F2C5462F12E04F764756E2164756E21",
21
+ "mappings": "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",
22
+ "debugId": "3271A25C52C755E164756E2164756E21",
23
23
  "names": []
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WebBrowser_ModelSearch.d.ts","sourceRoot":"","sources":["../../../src/provider-chrome/common/WebBrowser_ModelSearch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EAEf,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,cAAc,CAAC;AAQtB,eAAO,MAAM,sBAAsB,EAAE,eAAe,CAClD,oBAAoB,EACpB,qBAAqB,CAyBtB,CAAC"}
1
+ {"version":3,"file":"WebBrowser_ModelSearch.d.ts","sourceRoot":"","sources":["../../../src/provider-chrome/common/WebBrowser_ModelSearch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EAEf,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,cAAc,CAAC;AAStB,eAAO,MAAM,sBAAsB,EAAE,eAAe,CAClD,oBAAoB,EACpB,qBAAqB,CA0BtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"WebBrowser_TextGeneration.d.ts","sourceRoot":"","sources":["../../../src/provider-chrome/common/WebBrowser_TextGeneration.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtE,eAAO,MAAM,yBAAyB,EAAE,eAAe,CACrD,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,CAmCtB,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,kBAAkB,CAC/D,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,CAmBtB,CAAC"}
1
+ {"version":3,"file":"WebBrowser_TextGeneration.d.ts","sourceRoot":"","sources":["../../../src/provider-chrome/common/WebBrowser_TextGeneration.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtE,eAAO,MAAM,yBAAyB,EAAE,eAAe,CACrD,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,CAkBtB,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,kBAAkB,CAC/D,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,CAmBtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"WebBrowser_TextLanguageDetection.d.ts","sourceRoot":"","sources":["../../../src/provider-chrome/common/WebBrowser_TextLanguageDetection.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,8BAA8B,EAC9B,+BAA+B,EAChC,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtE,eAAO,MAAM,gCAAgC,EAAE,eAAe,CAC5D,8BAA8B,EAC9B,+BAA+B,EAC/B,qBAAqB,CAwCtB,CAAC"}
1
+ {"version":3,"file":"WebBrowser_TextLanguageDetection.d.ts","sourceRoot":"","sources":["../../../src/provider-chrome/common/WebBrowser_TextLanguageDetection.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,8BAA8B,EAC9B,+BAA+B,EAChC,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtE,eAAO,MAAM,gCAAgC,EAAE,eAAe,CAC5D,8BAA8B,EAC9B,+BAA+B,EAC/B,qBAAqB,CAmBtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"WebBrowser_TextRewriter.d.ts","sourceRoot":"","sources":["../../../src/provider-chrome/common/WebBrowser_TextRewriter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,cAAc,CAAC;AAStB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtE,eAAO,MAAM,uBAAuB,EAAE,eAAe,CACnD,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,CA2CtB,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,kBAAkB,CAC7D,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,CAmBtB,CAAC"}
1
+ {"version":3,"file":"WebBrowser_TextRewriter.d.ts","sourceRoot":"","sources":["../../../src/provider-chrome/common/WebBrowser_TextRewriter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,cAAc,CAAC;AAStB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtE,eAAO,MAAM,uBAAuB,EAAE,eAAe,CACnD,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,CAoBtB,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,kBAAkB,CAC7D,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,CAmBtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"WebBrowser_TextSummary.d.ts","sourceRoot":"","sources":["../../../src/provider-chrome/common/WebBrowser_TextSummary.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,cAAc,CAAC;AAStB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtE,eAAO,MAAM,sBAAsB,EAAE,eAAe,CAClD,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,CAyCtB,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,CAC5D,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,CAiBtB,CAAC"}
1
+ {"version":3,"file":"WebBrowser_TextSummary.d.ts","sourceRoot":"","sources":["../../../src/provider-chrome/common/WebBrowser_TextSummary.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,cAAc,CAAC;AAStB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtE,eAAO,MAAM,sBAAsB,EAAE,eAAe,CAClD,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,CAsBtB,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,CAC5D,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,CAiBtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"WebBrowser_TextTranslation.d.ts","sourceRoot":"","sources":["../../../src/provider-chrome/common/WebBrowser_TextTranslation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,cAAc,CAAC;AAMtB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtE,eAAO,MAAM,0BAA0B,EAAE,eAAe,CACtD,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,CA6CtB,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,kBAAkB,CAChE,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,CAmCtB,CAAC"}
1
+ {"version":3,"file":"WebBrowser_TextTranslation.d.ts","sourceRoot":"","sources":["../../../src/provider-chrome/common/WebBrowser_TextTranslation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,cAAc,CAAC;AAMtB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtE,eAAO,MAAM,0BAA0B,EAAE,eAAe,CACtD,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,CA4BtB,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,kBAAkB,CAChE,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,CAmCtB,CAAC"}
@@ -21,6 +21,24 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
21
21
  throw Error('Dynamic require of "' + x + '" is not supported');
22
22
  });
23
23
 
24
+ // src/common/modelSearchQuery.ts
25
+ function normalizedModelSearchQuery(query) {
26
+ const t = query?.trim();
27
+ return t ? t.toLowerCase() : undefined;
28
+ }
29
+ function filterLabeledModelsByQuery(models, query) {
30
+ const q = normalizedModelSearchQuery(query);
31
+ if (!q)
32
+ return [...models];
33
+ return models.filter((m) => m.value.toLowerCase().includes(q) || m.label.toLowerCase().includes(q));
34
+ }
35
+ function filterModelSearchResultsByQuery(results, query) {
36
+ const q = normalizedModelSearchQuery(query);
37
+ if (!q)
38
+ return results;
39
+ return results.filter((m) => m.id.toLowerCase().includes(q) || m.label.toLowerCase().includes(q) || m.description.toLowerCase().includes(q));
40
+ }
41
+
24
42
  // src/provider-chrome/common/WebBrowser_Constants.ts
25
43
  var WEB_BROWSER = "WEB_BROWSER";
26
44
  var WebBrowserPipelineTask = {
@@ -36,8 +54,9 @@ var WEB_BROWSER_MODELS = [
36
54
  { label: "webgpu WebGPU inference", value: "webgpu" },
37
55
  { label: "wasm WASM inference", value: "wasm" }
38
56
  ];
39
- var WebBrowser_ModelSearch = async () => {
40
- const results = WEB_BROWSER_MODELS.map((m) => ({
57
+ var WebBrowser_ModelSearch = async (input) => {
58
+ const models = filterLabeledModelsByQuery(WEB_BROWSER_MODELS, input.query);
59
+ const results = models.map((m) => ({
41
60
  id: m.value,
42
61
  label: m.label,
43
62
  description: "",
@@ -76,9 +95,6 @@ var WebBrowser_ModelInfo = async (input) => {
76
95
  };
77
96
  };
78
97
 
79
- // src/provider-chrome/common/WebBrowser_TextGeneration.ts
80
- import { getLogger } from "@workglow/util/worker";
81
-
82
98
  // src/provider-chrome/common/WebBrowser_ChromeHelpers.ts
83
99
  import { PermanentJobError } from "@workglow/job-queue";
84
100
  function getConfig(model) {
@@ -139,22 +155,6 @@ async function* snapshotStreamToSnapshots(stream, buildOutput) {
139
155
  var WebBrowser_TextGeneration = async (input, model, update_progress, signal) => {
140
156
  const factory = getApi("LanguageModel", typeof LanguageModel !== "undefined" ? LanguageModel : undefined);
141
157
  await ensureAvailable("LanguageModel", factory);
142
- if (Array.isArray(input.prompt)) {
143
- getLogger().warn("WebBrowser_TextGeneration: array input received; processing sequentially");
144
- const results = [];
145
- for (const item of input.prompt) {
146
- const session2 = await factory.create({
147
- temperature: input.temperature ?? undefined
148
- });
149
- try {
150
- results.push(await session2.prompt(item, { signal }));
151
- } finally {
152
- session2.destroy();
153
- }
154
- }
155
- update_progress(100, "Completed text generation");
156
- return { text: results };
157
- }
158
158
  const session = await factory.create({
159
159
  temperature: input.temperature ?? undefined
160
160
  });
@@ -183,26 +183,9 @@ var WebBrowser_TextGeneration_Stream = async function* (input, model, signal) {
183
183
  };
184
184
 
185
185
  // src/provider-chrome/common/WebBrowser_TextLanguageDetection.ts
186
- import { getLogger as getLogger2 } from "@workglow/util/worker";
187
186
  var WebBrowser_TextLanguageDetection = async (input, model, update_progress, signal) => {
188
187
  const factory = getApi("LanguageDetector", typeof LanguageDetector !== "undefined" ? LanguageDetector : undefined);
189
188
  await ensureAvailable("LanguageDetector", factory);
190
- if (Array.isArray(input.text)) {
191
- getLogger2().warn("WebBrowser_TextLanguageDetection: array input received; processing sequentially");
192
- const allResults = [];
193
- for (const item of input.text) {
194
- const detector2 = await factory.create();
195
- try {
196
- const detected = await detector2.detect(item, { signal });
197
- const mapped = detected.map((d) => ({ language: d.detectedLanguage, score: d.confidence })).slice(0, input.maxLanguages ?? 5);
198
- allResults.push(mapped);
199
- } finally {
200
- detector2.destroy();
201
- }
202
- }
203
- update_progress(100, "Completed language detection");
204
- return { languages: allResults };
205
- }
206
189
  const detector = await factory.create();
207
190
  try {
208
191
  const detected = await detector.detect(input.text, { signal });
@@ -215,31 +198,10 @@ var WebBrowser_TextLanguageDetection = async (input, model, update_progress, sig
215
198
  };
216
199
 
217
200
  // src/provider-chrome/common/WebBrowser_TextRewriter.ts
218
- import { getLogger as getLogger3 } from "@workglow/util/worker";
219
201
  var WebBrowser_TextRewriter = async (input, model, update_progress, signal) => {
220
202
  const factory = getApi("Rewriter", typeof Rewriter !== "undefined" ? Rewriter : undefined);
221
203
  await ensureAvailable("Rewriter", factory);
222
204
  const config = getConfig(model);
223
- if (Array.isArray(input.text)) {
224
- getLogger3().warn("WebBrowser_TextRewriter: array input received; processing sequentially");
225
- const results = [];
226
- for (const item of input.text) {
227
- const rewriter2 = await factory.create({
228
- tone: config.rewriter_tone,
229
- length: config.rewriter_length
230
- });
231
- try {
232
- results.push(await rewriter2.rewrite(item, {
233
- signal,
234
- context: input.prompt
235
- }));
236
- } finally {
237
- rewriter2.destroy();
238
- }
239
- }
240
- update_progress(100, "Completed text rewriting");
241
- return { text: results };
242
- }
243
205
  const rewriter = await factory.create({
244
206
  tone: config.rewriter_tone,
245
207
  length: config.rewriter_length
@@ -275,29 +237,10 @@ var WebBrowser_TextRewriter_Stream = async function* (input, model, signal) {
275
237
  };
276
238
 
277
239
  // src/provider-chrome/common/WebBrowser_TextSummary.ts
278
- import { getLogger as getLogger4 } from "@workglow/util/worker";
279
240
  var WebBrowser_TextSummary = async (input, model, update_progress, signal) => {
280
241
  const factory = getApi("Summarizer", globalThis?.ai?.summarizer ?? (typeof Summarizer !== "undefined" ? Summarizer : undefined));
281
242
  await ensureAvailable("Summarizer", factory);
282
243
  const config = getConfig(model);
283
- if (Array.isArray(input.text)) {
284
- getLogger4().warn("WebBrowser_TextSummary: array input received; processing sequentially");
285
- const results = [];
286
- for (const item of input.text) {
287
- const summarizer2 = await factory.create({
288
- type: config.summary_type,
289
- length: config.summary_length,
290
- format: config.summary_format
291
- });
292
- try {
293
- results.push(await summarizer2.summarize(item, { signal }));
294
- } finally {
295
- summarizer2.destroy();
296
- }
297
- }
298
- update_progress(100, "Completed text summarization");
299
- return { text: results };
300
- }
301
244
  const summarizer = await factory.create({
302
245
  type: config.summary_type,
303
246
  length: config.summary_length,
@@ -330,7 +273,6 @@ var WebBrowser_TextSummary_Stream = async function* (input, model, signal) {
330
273
 
331
274
  // src/provider-chrome/common/WebBrowser_TextTranslation.ts
332
275
  import { PermanentJobError as PermanentJobError2 } from "@workglow/job-queue";
333
- import { getLogger as getLogger5 } from "@workglow/util/worker";
334
276
  var WebBrowser_TextTranslation = async (input, model, update_progress, signal) => {
335
277
  const factory = getApi("Translator", typeof Translator !== "undefined" ? Translator : undefined);
336
278
  await ensureAvailable("Translator", factory);
@@ -341,23 +283,6 @@ var WebBrowser_TextTranslation = async (input, model, update_progress, signal) =
341
283
  if (!translationAvailability || translationAvailability === "unavailable") {
342
284
  throw new PermanentJobError2(`Translator not available for language pair ${String(input.source_lang)} -> ${String(input.target_lang)}`);
343
285
  }
344
- if (Array.isArray(input.text)) {
345
- getLogger5().warn("WebBrowser_TextTranslation: array input received; processing sequentially");
346
- const results = [];
347
- for (const item of input.text) {
348
- const translator2 = await factory.create({
349
- sourceLanguage: input.source_lang,
350
- targetLanguage: input.target_lang
351
- });
352
- try {
353
- results.push(await translator2.translate(item, { signal }));
354
- } finally {
355
- translator2.destroy();
356
- }
357
- }
358
- update_progress(100, "Completed text translation");
359
- return { text: results, target_lang: input.target_lang };
360
- }
361
286
  const translator = await factory.create({
362
287
  sourceLanguage: input.source_lang,
363
288
  targetLanguage: input.target_lang
@@ -444,7 +369,7 @@ async function registerWebBrowserInline(options) {
444
369
  await new WebBrowserQueuedProvider(WEB_BROWSER_TASKS, WEB_BROWSER_STREAM_TASKS).register(options ?? {});
445
370
  }
446
371
  // src/provider-chrome/registerWebBrowserWorker.ts
447
- import { getLogger as getLogger6, globalServiceRegistry, WORKER_SERVER } from "@workglow/util/worker";
372
+ import { getLogger, globalServiceRegistry, WORKER_SERVER } from "@workglow/util/worker";
448
373
 
449
374
  // src/provider-chrome/WebBrowserProvider.ts
450
375
  import {
@@ -474,11 +399,11 @@ async function registerWebBrowserWorker() {
474
399
  const workerServer = globalServiceRegistry.get(WORKER_SERVER);
475
400
  new WebBrowserProvider(WEB_BROWSER_TASKS, WEB_BROWSER_STREAM_TASKS).registerOnWorkerServer(workerServer);
476
401
  workerServer.sendReady();
477
- getLogger6().info("Web browser worker job run functions registered");
402
+ getLogger().info("Web browser worker job run functions registered");
478
403
  }
479
404
  export {
480
405
  registerWebBrowserWorker,
481
406
  registerWebBrowserInline
482
407
  };
483
408
 
484
- //# debugId=57FC98FD88BE0FC664756E2164756E21
409
+ //# debugId=37373CDDC3ABF1CA64756E2164756E21