@workglow/ai-provider 0.0.126 → 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 (172) hide show
  1. package/dist/provider-anthropic/AnthropicProvider.d.ts +1 -1
  2. package/dist/provider-anthropic/AnthropicProvider.d.ts.map +1 -1
  3. package/dist/provider-anthropic/AnthropicQueuedProvider.d.ts +4 -4
  4. package/dist/provider-anthropic/AnthropicQueuedProvider.d.ts.map +1 -1
  5. package/dist/provider-anthropic/common/Anthropic_Client.d.ts.map +1 -1
  6. package/dist/provider-anthropic/common/Anthropic_CountTokens.d.ts.map +1 -1
  7. package/dist/provider-anthropic/common/Anthropic_JobRunFns.d.ts.map +1 -1
  8. package/dist/provider-anthropic/common/Anthropic_TextGeneration.d.ts.map +1 -1
  9. package/dist/provider-anthropic/common/Anthropic_TextRewriter.d.ts.map +1 -1
  10. package/dist/provider-anthropic/common/Anthropic_TextSummary.d.ts.map +1 -1
  11. package/dist/provider-anthropic/index.js +3 -4
  12. package/dist/provider-anthropic/index.js.map +3 -3
  13. package/dist/provider-anthropic/runtime.js +19 -291
  14. package/dist/provider-anthropic/runtime.js.map +11 -12
  15. package/dist/provider-chrome/common/WebBrowser_TextGeneration.d.ts.map +1 -1
  16. package/dist/provider-chrome/common/WebBrowser_TextLanguageDetection.d.ts.map +1 -1
  17. package/dist/provider-chrome/common/WebBrowser_TextRewriter.d.ts.map +1 -1
  18. package/dist/provider-chrome/common/WebBrowser_TextSummary.d.ts.map +1 -1
  19. package/dist/provider-chrome/common/WebBrowser_TextTranslation.d.ts.map +1 -1
  20. package/dist/provider-chrome/runtime.js +3 -97
  21. package/dist/provider-chrome/runtime.js.map +8 -8
  22. package/dist/provider-gemini/GoogleGeminiProvider.d.ts +1 -1
  23. package/dist/provider-gemini/GoogleGeminiProvider.d.ts.map +1 -1
  24. package/dist/provider-gemini/GoogleGeminiQueuedProvider.d.ts +4 -4
  25. package/dist/provider-gemini/GoogleGeminiQueuedProvider.d.ts.map +1 -1
  26. package/dist/provider-gemini/common/Gemini_CountTokens.d.ts.map +1 -1
  27. package/dist/provider-gemini/common/Gemini_JobRunFns.d.ts.map +1 -1
  28. package/dist/provider-gemini/common/Gemini_TextEmbedding.d.ts.map +1 -1
  29. package/dist/provider-gemini/common/Gemini_TextGeneration.d.ts.map +1 -1
  30. package/dist/provider-gemini/common/Gemini_TextRewriter.d.ts.map +1 -1
  31. package/dist/provider-gemini/common/Gemini_TextSummary.d.ts.map +1 -1
  32. package/dist/provider-gemini/index.js +3 -4
  33. package/dist/provider-gemini/index.js.map +3 -3
  34. package/dist/provider-gemini/runtime.js +12 -257
  35. package/dist/provider-gemini/runtime.js.map +11 -12
  36. package/dist/provider-hf-inference/HfInferenceProvider.d.ts +1 -1
  37. package/dist/provider-hf-inference/HfInferenceProvider.d.ts.map +1 -1
  38. package/dist/provider-hf-inference/HfInferenceQueuedProvider.d.ts +4 -4
  39. package/dist/provider-hf-inference/HfInferenceQueuedProvider.d.ts.map +1 -1
  40. package/dist/provider-hf-inference/common/HFI_Client.d.ts.map +1 -1
  41. package/dist/provider-hf-inference/common/HFI_JobRunFns.d.ts.map +1 -1
  42. package/dist/provider-hf-inference/common/HFI_TextEmbedding.d.ts.map +1 -1
  43. package/dist/provider-hf-inference/common/HFI_TextGeneration.d.ts.map +1 -1
  44. package/dist/provider-hf-inference/common/HFI_TextRewriter.d.ts.map +1 -1
  45. package/dist/provider-hf-inference/common/HFI_TextSummary.d.ts.map +1 -1
  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 +13 -206
  49. package/dist/provider-hf-inference/runtime.js.map +11 -12
  50. package/dist/provider-hf-transformers/HuggingFaceTransformersProvider.d.ts +1 -1
  51. package/dist/provider-hf-transformers/HuggingFaceTransformersProvider.d.ts.map +1 -1
  52. package/dist/provider-hf-transformers/HuggingFaceTransformersQueuedProvider.d.ts +13 -3
  53. package/dist/provider-hf-transformers/HuggingFaceTransformersQueuedProvider.d.ts.map +1 -1
  54. package/dist/provider-hf-transformers/common/HFT_Constants.d.ts +4 -0
  55. package/dist/provider-hf-transformers/common/HFT_Constants.d.ts.map +1 -1
  56. package/dist/provider-hf-transformers/common/HFT_CountTokens.d.ts.map +1 -1
  57. package/dist/provider-hf-transformers/common/HFT_Download.d.ts.map +1 -1
  58. package/dist/provider-hf-transformers/common/HFT_ImageEmbedding.d.ts.map +1 -1
  59. package/dist/provider-hf-transformers/common/HFT_JobRunFns.d.ts +116 -87
  60. package/dist/provider-hf-transformers/common/HFT_JobRunFns.d.ts.map +1 -1
  61. package/dist/provider-hf-transformers/common/HFT_ModelInfo.d.ts.map +1 -1
  62. package/dist/provider-hf-transformers/common/HFT_ModelSchema.d.ts +30 -0
  63. package/dist/provider-hf-transformers/common/HFT_ModelSchema.d.ts.map +1 -1
  64. package/dist/provider-hf-transformers/common/HFT_OnnxDtypes.d.ts.map +1 -1
  65. package/dist/provider-hf-transformers/common/HFT_Pipeline.d.ts +9 -2
  66. package/dist/provider-hf-transformers/common/HFT_Pipeline.d.ts.map +1 -1
  67. package/dist/provider-hf-transformers/common/HFT_Streaming.d.ts +2 -2
  68. package/dist/provider-hf-transformers/common/HFT_Streaming.d.ts.map +1 -1
  69. package/dist/provider-hf-transformers/common/HFT_TextClassification.d.ts.map +1 -1
  70. package/dist/provider-hf-transformers/common/HFT_TextFillMask.d.ts.map +1 -1
  71. package/dist/provider-hf-transformers/common/HFT_TextGeneration.d.ts.map +1 -1
  72. package/dist/provider-hf-transformers/common/HFT_TextLanguageDetection.d.ts.map +1 -1
  73. package/dist/provider-hf-transformers/common/HFT_TextNamedEntityRecognition.d.ts.map +1 -1
  74. package/dist/provider-hf-transformers/common/HFT_TextQuestionAnswer.d.ts.map +1 -1
  75. package/dist/provider-hf-transformers/common/HFT_TextRewriter.d.ts.map +1 -1
  76. package/dist/provider-hf-transformers/common/HFT_TextSummary.d.ts.map +1 -1
  77. package/dist/provider-hf-transformers/common/HFT_TextTranslation.d.ts.map +1 -1
  78. package/dist/provider-hf-transformers/index.d.ts +0 -1
  79. package/dist/provider-hf-transformers/index.d.ts.map +1 -1
  80. package/dist/provider-hf-transformers/index.js +49 -177
  81. package/dist/provider-hf-transformers/index.js.map +8 -9
  82. package/dist/provider-hf-transformers/registerHuggingFaceTransformersWorker.d.ts.map +1 -1
  83. package/dist/provider-hf-transformers/runtime.d.ts +0 -1
  84. package/dist/provider-hf-transformers/runtime.d.ts.map +1 -1
  85. package/dist/provider-hf-transformers/runtime.js +208 -513
  86. package/dist/provider-hf-transformers/runtime.js.map +27 -29
  87. package/dist/provider-llamacpp/LlamaCppProvider.d.ts +1 -1
  88. package/dist/provider-llamacpp/LlamaCppProvider.d.ts.map +1 -1
  89. package/dist/provider-llamacpp/LlamaCppQueuedProvider.d.ts +1 -1
  90. package/dist/provider-llamacpp/LlamaCppQueuedProvider.d.ts.map +1 -1
  91. package/dist/provider-llamacpp/common/LlamaCpp_CountTokens.d.ts.map +1 -1
  92. package/dist/provider-llamacpp/common/LlamaCpp_JobRunFns.d.ts.map +1 -1
  93. package/dist/provider-llamacpp/common/LlamaCpp_ModelSchema.d.ts +15 -0
  94. package/dist/provider-llamacpp/common/LlamaCpp_ModelSchema.d.ts.map +1 -1
  95. package/dist/provider-llamacpp/common/LlamaCpp_Runtime.d.ts +10 -0
  96. package/dist/provider-llamacpp/common/LlamaCpp_Runtime.d.ts.map +1 -1
  97. package/dist/provider-llamacpp/common/LlamaCpp_StructuredGeneration.d.ts.map +1 -1
  98. package/dist/provider-llamacpp/common/LlamaCpp_TextEmbedding.d.ts.map +1 -1
  99. package/dist/provider-llamacpp/common/LlamaCpp_TextGeneration.d.ts.map +1 -1
  100. package/dist/provider-llamacpp/common/LlamaCpp_TextRewriter.d.ts.map +1 -1
  101. package/dist/provider-llamacpp/common/LlamaCpp_TextSummary.d.ts.map +1 -1
  102. package/dist/provider-llamacpp/index.js +6 -2
  103. package/dist/provider-llamacpp/index.js.map +4 -4
  104. package/dist/provider-llamacpp/runtime.js +82 -230
  105. package/dist/provider-llamacpp/runtime.js.map +13 -14
  106. package/dist/provider-ollama/OllamaProvider.d.ts +1 -1
  107. package/dist/provider-ollama/OllamaProvider.d.ts.map +1 -1
  108. package/dist/provider-ollama/OllamaQueuedProvider.d.ts +4 -4
  109. package/dist/provider-ollama/OllamaQueuedProvider.d.ts.map +1 -1
  110. package/dist/provider-ollama/common/Ollama_JobRunFns.browser.d.ts +13 -71
  111. package/dist/provider-ollama/common/Ollama_JobRunFns.browser.d.ts.map +1 -1
  112. package/dist/provider-ollama/common/Ollama_JobRunFns.d.ts +13 -71
  113. package/dist/provider-ollama/common/Ollama_JobRunFns.d.ts.map +1 -1
  114. package/dist/provider-ollama/common/Ollama_TextGeneration.d.ts.map +1 -1
  115. package/dist/provider-ollama/common/Ollama_TextRewriter.d.ts.map +1 -1
  116. package/dist/provider-ollama/common/Ollama_TextSummary.d.ts.map +1 -1
  117. package/dist/provider-ollama/index.browser.js +3 -4
  118. package/dist/provider-ollama/index.browser.js.map +3 -3
  119. package/dist/provider-ollama/index.js +3 -4
  120. package/dist/provider-ollama/index.js.map +3 -3
  121. package/dist/provider-ollama/runtime.browser.js +8 -179
  122. package/dist/provider-ollama/runtime.browser.js.map +9 -10
  123. package/dist/provider-ollama/runtime.js +8 -174
  124. package/dist/provider-ollama/runtime.js.map +9 -10
  125. package/dist/provider-openai/OpenAiProvider.d.ts +1 -1
  126. package/dist/provider-openai/OpenAiProvider.d.ts.map +1 -1
  127. package/dist/provider-openai/OpenAiQueuedProvider.d.ts +4 -4
  128. package/dist/provider-openai/OpenAiQueuedProvider.d.ts.map +1 -1
  129. package/dist/provider-openai/common/OpenAI_Client.d.ts.map +1 -1
  130. package/dist/provider-openai/common/OpenAI_CountTokens.browser.d.ts.map +1 -1
  131. package/dist/provider-openai/common/OpenAI_CountTokens.d.ts.map +1 -1
  132. package/dist/provider-openai/common/OpenAI_JobRunFns.browser.d.ts.map +1 -1
  133. package/dist/provider-openai/common/OpenAI_JobRunFns.d.ts.map +1 -1
  134. package/dist/provider-openai/common/OpenAI_TextEmbedding.d.ts.map +1 -1
  135. package/dist/provider-openai/common/OpenAI_TextGeneration.d.ts.map +1 -1
  136. package/dist/provider-openai/common/OpenAI_TextRewriter.d.ts.map +1 -1
  137. package/dist/provider-openai/common/OpenAI_TextSummary.d.ts.map +1 -1
  138. package/dist/provider-openai/index.browser.js +3 -4
  139. package/dist/provider-openai/index.browser.js.map +3 -3
  140. package/dist/provider-openai/index.js +3 -4
  141. package/dist/provider-openai/index.js.map +3 -3
  142. package/dist/provider-openai/runtime.browser.js +22 -224
  143. package/dist/provider-openai/runtime.browser.js.map +12 -13
  144. package/dist/provider-openai/runtime.js +22 -224
  145. package/dist/provider-openai/runtime.js.map +12 -13
  146. package/dist/provider-tf-mediapipe/TensorFlowMediaPipeQueuedProvider.d.ts +3 -3
  147. package/dist/provider-tf-mediapipe/TensorFlowMediaPipeQueuedProvider.d.ts.map +1 -1
  148. package/dist/provider-tf-mediapipe/common/TFMP_ImageEmbedding.d.ts.map +1 -1
  149. package/dist/provider-tf-mediapipe/common/TFMP_JobRunFns.d.ts +17 -10
  150. package/dist/provider-tf-mediapipe/common/TFMP_JobRunFns.d.ts.map +1 -1
  151. package/dist/provider-tf-mediapipe/common/TFMP_Unload.d.ts.map +1 -1
  152. package/dist/provider-tf-mediapipe/index.js +3 -3
  153. package/dist/provider-tf-mediapipe/index.js.map +3 -3
  154. package/dist/provider-tf-mediapipe/runtime.js +16 -5
  155. package/dist/provider-tf-mediapipe/runtime.js.map +5 -5
  156. package/package.json +15 -15
  157. package/dist/provider-anthropic/common/Anthropic_ToolCalling.d.ts +0 -10
  158. package/dist/provider-anthropic/common/Anthropic_ToolCalling.d.ts.map +0 -1
  159. package/dist/provider-gemini/common/Gemini_ToolCalling.d.ts +0 -10
  160. package/dist/provider-gemini/common/Gemini_ToolCalling.d.ts.map +0 -1
  161. package/dist/provider-hf-inference/common/HFI_ToolCalling.d.ts +0 -10
  162. package/dist/provider-hf-inference/common/HFI_ToolCalling.d.ts.map +0 -1
  163. package/dist/provider-hf-transformers/common/HFT_ToolCalling.d.ts +0 -10
  164. package/dist/provider-hf-transformers/common/HFT_ToolCalling.d.ts.map +0 -1
  165. package/dist/provider-hf-transformers/common/HFT_ToolMarkup.d.ts +0 -40
  166. package/dist/provider-hf-transformers/common/HFT_ToolMarkup.d.ts.map +0 -1
  167. package/dist/provider-llamacpp/common/LlamaCpp_ToolCalling.d.ts +0 -10
  168. package/dist/provider-llamacpp/common/LlamaCpp_ToolCalling.d.ts.map +0 -1
  169. package/dist/provider-ollama/common/Ollama_ToolCalling.d.ts +0 -16
  170. package/dist/provider-ollama/common/Ollama_ToolCalling.d.ts.map +0 -1
  171. package/dist/provider-openai/common/OpenAI_ToolCalling.d.ts +0 -10
  172. 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/common/modelSearchQuery.ts", "../src/provider-chrome/common/WebBrowser_Constants.ts", "../src/provider-chrome/common/WebBrowser_ModelSearch.ts", "../src/provider-chrome/common/WebBrowser_ModelInfo.ts", "../src/provider-chrome/common/WebBrowser_TextGeneration.ts", "../src/provider-chrome/common/WebBrowser_ChromeHelpers.ts", "../src/provider-chrome/common/WebBrowser_TextLanguageDetection.ts", "../src/provider-chrome/common/WebBrowser_TextRewriter.ts", "../src/provider-chrome/common/WebBrowser_TextSummary.ts", "../src/provider-chrome/common/WebBrowser_TextTranslation.ts", "../src/provider-chrome/common/WebBrowser_JobRunFns.ts", "../src/provider-chrome/WebBrowserQueuedProvider.ts", "../src/provider-chrome/registerWebBrowserInline.ts", "../src/provider-chrome/registerWebBrowserWorker.ts", "../src/provider-chrome/WebBrowserProvider.ts"],
3
+ "sources": ["../src/common/modelSearchQuery.ts", "../src/provider-chrome/common/WebBrowser_Constants.ts", "../src/provider-chrome/common/WebBrowser_ModelSearch.ts", "../src/provider-chrome/common/WebBrowser_ModelInfo.ts", "../src/provider-chrome/common/WebBrowser_ChromeHelpers.ts", "../src/provider-chrome/common/WebBrowser_TextGeneration.ts", "../src/provider-chrome/common/WebBrowser_TextLanguageDetection.ts", "../src/provider-chrome/common/WebBrowser_TextRewriter.ts", "../src/provider-chrome/common/WebBrowser_TextSummary.ts", "../src/provider-chrome/common/WebBrowser_TextTranslation.ts", "../src/provider-chrome/common/WebBrowser_JobRunFns.ts", "../src/provider-chrome/WebBrowserQueuedProvider.ts", "../src/provider-chrome/registerWebBrowserInline.ts", "../src/provider-chrome/registerWebBrowserWorker.ts", "../src/provider-chrome/WebBrowserProvider.ts"],
4
4
  "sourcesContent": [
5
5
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { 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
6
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const WEB_BROWSER = \"WEB_BROWSER\";\n\nexport type WebBrowserPipelineTask =\n | \"summarizer\"\n | \"language-detector\"\n | \"translator\"\n | \"prompt\"\n | \"rewriter\";\n\nexport const WebBrowserPipelineTask = {\n summarizer: \"summarizer\",\n \"language-detector\": \"language-detector\",\n translator: \"translator\",\n prompt: \"prompt\",\n rewriter: \"rewriter\",\n} as const satisfies Record<WebBrowserPipelineTask, WebBrowserPipelineTask>;\n",
7
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 { filterLabeledModelsByQuery } from \"../../common/modelSearchQuery\";\nimport { WEB_BROWSER } from \"./WebBrowser_Constants\";\n\nconst WEB_BROWSER_MODELS: Array<{ label: string; value: string }> = [\n { label: \"webgpu WebGPU inference\", value: \"webgpu\" },\n { label: \"wasm WASM inference\", value: \"wasm\" },\n];\n\nexport const WebBrowser_ModelSearch: AiProviderRunFn<\n ModelSearchTaskInput,\n ModelSearchTaskOutput\n> = async (input) => {\n const models = filterLabeledModelsByQuery(WEB_BROWSER_MODELS, input.query);\n const results: ModelSearchResultItem[] = models.map((m) => ({\n id: m.value,\n label: m.label,\n description: \"\",\n record: {\n model_id: m.value,\n provider: WEB_BROWSER,\n title: m.value,\n description: \"\",\n tasks: [\n \"ModelInfoTask\",\n \"TextGenerationTask\",\n \"TextSummaryTask\",\n \"TextLanguageDetectionTask\",\n \"TextTranslationTask\",\n \"TextRewriterTask\",\n ],\n provider_config: {},\n metadata: {},\n },\n raw: m,\n }));\n return { results };\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 { AiProviderRunFn, ModelInfoTaskInput, ModelInfoTaskOutput } from \"@workglow/ai\";\nimport type { WebBrowserModelConfig } from \"./WebBrowser_ModelSchema\";\n\nexport const WebBrowser_ModelInfo: AiProviderRunFn<\n ModelInfoTaskInput,\n ModelInfoTaskOutput,\n WebBrowserModelConfig\n> = async (input) => {\n return {\n model: input.model,\n is_local: true,\n is_remote: false,\n supports_browser: true,\n supports_node: false,\n is_cached: false,\n is_loaded: false,\n file_sizes: null,\n };\n};\n",
9
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\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 { ensureAvailable, getApi, snapshotStreamToTextDeltas } from \"./WebBrowser_ChromeHelpers\";\nimport type { WebBrowserModelConfig } from \"./WebBrowser_ModelSchema\";\n\nexport const WebBrowser_TextGeneration: AiProviderRunFn<\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n WebBrowserModelConfig\n> = async (input, model, update_progress, signal) => {\n const factory = getApi(\n \"LanguageModel\",\n typeof LanguageModel !== \"undefined\" ? LanguageModel : undefined\n );\n await ensureAvailable(\"LanguageModel\", factory);\n\n if (Array.isArray(input.prompt)) {\n getLogger().warn(\"WebBrowser_TextGeneration: array input received; processing sequentially\");\n const results: string[] = [];\n for (const item of input.prompt as string[]) {\n const session = await factory.create({\n temperature: input.temperature ?? undefined,\n });\n try {\n results.push(await session.prompt(item, { signal }));\n } finally {\n session.destroy();\n }\n }\n update_progress(100, \"Completed text generation\");\n return { text: results } as TextGenerationTaskOutput;\n }\n\n const session = await factory.create({\n temperature: input.temperature ?? undefined,\n });\n try {\n const text = await session.prompt(input.prompt as string, { signal });\n update_progress(100, \"Completed text generation\");\n return { text };\n } finally {\n session.destroy();\n }\n};\n\nexport const WebBrowser_TextGeneration_Stream: AiProviderStreamFn<\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n WebBrowserModelConfig\n> = async function* (input, model, signal): AsyncIterable<StreamEvent<TextGenerationTaskOutput>> {\n const factory = getApi(\n \"LanguageModel\",\n typeof LanguageModel !== \"undefined\" ? LanguageModel : undefined\n );\n await ensureAvailable(\"LanguageModel\", factory);\n\n const session = await factory.create({\n temperature: input.temperature ?? undefined,\n });\n try {\n const stream = session.promptStreaming(input.prompt as string, { signal });\n yield* snapshotStreamToTextDeltas<TextGenerationTaskOutput>(stream, \"text\", (text) => ({\n text,\n }));\n } finally {\n session.destroy();\n }\n};\n",
10
9
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { PermanentJobError } from \"@workglow/job-queue\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\nimport { AIAvailability } from \"./WebBrowser_ChromeAI\";\nimport type { WebBrowserModelConfig } from \"./WebBrowser_ModelSchema\";\n\nexport interface ProviderConfig {\n readonly pipeline?: string;\n readonly summary_type?: \"tl;dr\" | \"key-points\" | \"teaser\" | \"headline\";\n readonly summary_length?: \"short\" | \"medium\" | \"long\";\n readonly summary_format?: \"plain-text\" | \"markdown\";\n readonly rewriter_tone?: \"as-is\" | \"more-formal\" | \"more-casual\";\n readonly rewriter_length?: \"as-is\" | \"shorter\" | \"longer\";\n}\n\nexport function getConfig(model: WebBrowserModelConfig | undefined): ProviderConfig {\n return (model?.provider_config ?? {}) as ProviderConfig;\n}\n\nexport function getApi<T>(name: string, global: T | undefined): T {\n if (!global) {\n throw new PermanentJobError(\n `Chrome Built-in AI \"${name}\" API is not available in this browser.`\n );\n }\n return global;\n}\n\nexport async function ensureAvailable(\n name: string,\n factory: { availability(): Promise<AIAvailability> }\n): Promise<void> {\n const status = await factory.availability();\n if (status === \"unavailable\") {\n throw new PermanentJobError(\n `Chrome Built-in AI \"${name}\" is not available (status: \"no\"). ` +\n `Ensure you are using a compatible Chrome version with the flag enabled.`\n );\n }\n}\n\n/**\n * Chrome streaming APIs return progressive full-text snapshots. This helper\n * converts them to append-mode text-delta events by diffing successive snapshots.\n */\nexport async function* snapshotStreamToTextDeltas<Output>(\n stream: ReadableStream<string>,\n port: string,\n buildFallbackOutput: (text: string) => Output\n): AsyncIterable<StreamEvent<Output>> {\n const reader = stream.getReader();\n let previousSnapshot = \"\";\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n if (value.startsWith(previousSnapshot)) {\n const delta = value.slice(previousSnapshot.length);\n previousSnapshot = value;\n if (delta) {\n yield { type: \"text-delta\", port, textDelta: delta };\n }\n } else {\n previousSnapshot = value;\n yield { type: \"snapshot\", data: buildFallbackOutput(value) };\n }\n }\n } finally {\n reader.releaseLock();\n }\n yield { type: \"finish\", data: {} as Output };\n}\n\n/**\n * Chrome streaming APIs return progressive full-text snapshots. Yields replace-mode snapshot events.\n */\nexport async function* snapshotStreamToSnapshots<Output>(\n stream: ReadableStream<string>,\n buildOutput: (text: string) => Output\n): AsyncIterable<StreamEvent<Output>> {\n const reader = stream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n yield { type: \"snapshot\", data: buildOutput(value) };\n }\n } finally {\n reader.releaseLock();\n }\n yield { type: \"finish\", data: {} as Output };\n}\n",
11
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n TextLanguageDetectionTaskInput,\n TextLanguageDetectionTaskOutput,\n} from \"@workglow/ai\";\nimport { getLogger } from \"@workglow/util/worker\";\nimport { ensureAvailable, getApi } from \"./WebBrowser_ChromeHelpers\";\nimport type { WebBrowserModelConfig } from \"./WebBrowser_ModelSchema\";\n\nexport const WebBrowser_TextLanguageDetection: AiProviderRunFn<\n TextLanguageDetectionTaskInput,\n TextLanguageDetectionTaskOutput,\n WebBrowserModelConfig\n> = async (input, model, update_progress, signal) => {\n const factory = getApi(\n \"LanguageDetector\",\n typeof LanguageDetector !== \"undefined\" ? LanguageDetector : undefined\n );\n await ensureAvailable(\"LanguageDetector\", factory);\n\n if (Array.isArray(input.text)) {\n getLogger().warn(\n \"WebBrowser_TextLanguageDetection: array input received; processing sequentially\"\n );\n const allResults: Array<Array<{ language: string; score: number }>> = [];\n for (const item of input.text as string[]) {\n const detector = await factory.create();\n try {\n const detected = await detector.detect(item, { signal });\n const mapped = detected\n .map((d) => ({ language: d.detectedLanguage, score: d.confidence }))\n .slice(0, input.maxLanguages ?? 5);\n allResults.push(mapped);\n } finally {\n detector.destroy();\n }\n }\n update_progress(100, \"Completed language detection\");\n return { languages: allResults } as TextLanguageDetectionTaskOutput;\n }\n\n const detector = await factory.create();\n try {\n const detected = await detector.detect(input.text as string, { signal });\n const languages = detected\n .map((d) => ({ language: d.detectedLanguage, score: d.confidence }))\n .slice(0, input.maxLanguages ?? 5);\n update_progress(100, \"Completed language detection\");\n return { languages };\n } finally {\n detector.destroy();\n }\n};\n",
12
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n AiProviderStreamFn,\n TextRewriterTaskInput,\n TextRewriterTaskOutput,\n} from \"@workglow/ai\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\nimport { getLogger } from \"@workglow/util/worker\";\nimport {\n ensureAvailable,\n getApi,\n getConfig,\n snapshotStreamToTextDeltas,\n} from \"./WebBrowser_ChromeHelpers\";\nimport type { WebBrowserModelConfig } from \"./WebBrowser_ModelSchema\";\n\nexport const WebBrowser_TextRewriter: AiProviderRunFn<\n TextRewriterTaskInput,\n TextRewriterTaskOutput,\n WebBrowserModelConfig\n> = async (input, model, update_progress, signal) => {\n const factory = getApi(\"Rewriter\", typeof Rewriter !== \"undefined\" ? Rewriter : undefined);\n await ensureAvailable(\"Rewriter\", factory);\n const config = getConfig(model);\n\n if (Array.isArray(input.text)) {\n getLogger().warn(\"WebBrowser_TextRewriter: array input received; processing sequentially\");\n const results: string[] = [];\n for (const item of input.text as string[]) {\n const rewriter = await factory.create({\n tone: config.rewriter_tone,\n length: config.rewriter_length,\n });\n try {\n results.push(\n await rewriter.rewrite(item, {\n signal,\n context: input.prompt as string | undefined,\n })\n );\n } finally {\n rewriter.destroy();\n }\n }\n update_progress(100, \"Completed text rewriting\");\n return { text: results } as TextRewriterTaskOutput;\n }\n\n const rewriter = await factory.create({\n tone: config.rewriter_tone,\n length: config.rewriter_length,\n });\n try {\n const text = await rewriter.rewrite(input.text as string, {\n signal,\n context: input.prompt as string | undefined,\n });\n update_progress(100, \"Completed text rewriting\");\n return { text };\n } finally {\n rewriter.destroy();\n }\n};\n\nexport const WebBrowser_TextRewriter_Stream: AiProviderStreamFn<\n TextRewriterTaskInput,\n TextRewriterTaskOutput,\n WebBrowserModelConfig\n> = async function* (input, model, signal): AsyncIterable<StreamEvent<TextRewriterTaskOutput>> {\n const factory = getApi(\"Rewriter\", typeof Rewriter !== \"undefined\" ? Rewriter : undefined);\n await ensureAvailable(\"Rewriter\", factory);\n const config = getConfig(model);\n\n const rewriter = await factory.create({\n tone: config.rewriter_tone,\n length: config.rewriter_length,\n });\n try {\n const stream = rewriter.rewriteStreaming(input.text as string, {\n signal,\n context: input.prompt as string | undefined,\n });\n yield* snapshotStreamToTextDeltas<TextRewriterTaskOutput>(stream, \"text\", (text) => ({ text }));\n } finally {\n rewriter.destroy();\n }\n};\n",
13
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n AiProviderStreamFn,\n TextSummaryTaskInput,\n TextSummaryTaskOutput,\n} from \"@workglow/ai\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\nimport { getLogger } from \"@workglow/util/worker\";\nimport {\n ensureAvailable,\n getApi,\n getConfig,\n snapshotStreamToTextDeltas,\n} from \"./WebBrowser_ChromeHelpers\";\nimport type { WebBrowserModelConfig } from \"./WebBrowser_ModelSchema\";\n\nexport const WebBrowser_TextSummary: AiProviderRunFn<\n TextSummaryTaskInput,\n TextSummaryTaskOutput,\n WebBrowserModelConfig\n> = async (input, model, update_progress, signal) => {\n const factory = getApi(\n \"Summarizer\",\n (globalThis as any)?.ai?.summarizer ??\n (typeof Summarizer !== \"undefined\" ? Summarizer : undefined)\n );\n await ensureAvailable(\"Summarizer\", factory);\n const config = getConfig(model);\n\n if (Array.isArray(input.text)) {\n getLogger().warn(\"WebBrowser_TextSummary: array input received; processing sequentially\");\n const results: string[] = [];\n for (const item of input.text as string[]) {\n const summarizer = await factory.create({\n type: config.summary_type,\n length: config.summary_length,\n format: config.summary_format,\n });\n try {\n results.push(await summarizer.summarize(item, { signal }));\n } finally {\n summarizer.destroy();\n }\n }\n update_progress(100, \"Completed text summarization\");\n return { text: results } as TextSummaryTaskOutput;\n }\n\n const summarizer = await factory.create({\n type: config.summary_type,\n length: config.summary_length,\n format: config.summary_format,\n });\n try {\n const text = await summarizer.summarize(input.text as string, { signal });\n update_progress(100, \"Completed text summarization\");\n return { text };\n } finally {\n summarizer.destroy();\n }\n};\n\nexport const WebBrowser_TextSummary_Stream: AiProviderStreamFn<\n TextSummaryTaskInput,\n TextSummaryTaskOutput,\n WebBrowserModelConfig\n> = async function* (input, model, signal): AsyncIterable<StreamEvent<TextSummaryTaskOutput>> {\n const factory = getApi(\"Summarizer\", typeof Summarizer !== \"undefined\" ? Summarizer : undefined);\n await ensureAvailable(\"Summarizer\", factory);\n const config = getConfig(model);\n\n const summarizer = await factory.create({\n type: config.summary_type,\n length: config.summary_length,\n format: config.summary_format,\n });\n try {\n const stream = summarizer.summarizeStreaming(input.text as string, { signal });\n yield* snapshotStreamToTextDeltas<TextSummaryTaskOutput>(stream, \"text\", (text) => ({ text }));\n } finally {\n summarizer.destroy();\n }\n};\n",
14
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n AiProviderStreamFn,\n TextTranslationTaskInput,\n TextTranslationTaskOutput,\n} from \"@workglow/ai\";\nimport { PermanentJobError } from \"@workglow/job-queue\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\nimport { getLogger } from \"@workglow/util/worker\";\nimport { AIAvailability } from \"./WebBrowser_ChromeAI\";\nimport { ensureAvailable, getApi, snapshotStreamToSnapshots } from \"./WebBrowser_ChromeHelpers\";\nimport type { WebBrowserModelConfig } from \"./WebBrowser_ModelSchema\";\n\nexport const WebBrowser_TextTranslation: AiProviderRunFn<\n TextTranslationTaskInput,\n TextTranslationTaskOutput,\n WebBrowserModelConfig\n> = async (input, model, update_progress, signal) => {\n const factory = getApi(\"Translator\", typeof Translator !== \"undefined\" ? Translator : undefined);\n await ensureAvailable(\"Translator\", factory);\n\n const translationAvailability = await factory.availability({\n sourceLanguage: input.source_lang as string,\n targetLanguage: input.target_lang as string,\n });\n if (!translationAvailability || translationAvailability === \"unavailable\") {\n throw new PermanentJobError(\n `Translator not available for language pair ${String(\n input.source_lang\n )} -> ${String(input.target_lang)}`\n );\n }\n if (Array.isArray(input.text)) {\n getLogger().warn(\"WebBrowser_TextTranslation: array input received; processing sequentially\");\n const results: string[] = [];\n for (const item of input.text as string[]) {\n const translator = await factory.create({\n sourceLanguage: input.source_lang as string,\n targetLanguage: input.target_lang as string,\n });\n try {\n results.push(await translator.translate(item, { signal }));\n } finally {\n translator.destroy();\n }\n }\n update_progress(100, \"Completed text translation\");\n return { text: results, target_lang: input.target_lang } as TextTranslationTaskOutput;\n }\n\n const translator = await factory.create({\n sourceLanguage: input.source_lang as string,\n targetLanguage: input.target_lang as string,\n });\n try {\n const text = await translator.translate(input.text as string, { signal });\n update_progress(100, \"Completed text translation\");\n return { text, target_lang: input.target_lang };\n } finally {\n translator.destroy();\n }\n};\n\nexport const WebBrowser_TextTranslation_Stream: AiProviderStreamFn<\n TextTranslationTaskInput,\n TextTranslationTaskOutput,\n WebBrowserModelConfig\n> = async function* (input, model, signal): AsyncIterable<StreamEvent<TextTranslationTaskOutput>> {\n const factory = getApi(\"Translator\", typeof Translator !== \"undefined\" ? Translator : undefined);\n let status: AIAvailability;\n try {\n status = await factory.availability({\n sourceLanguage: input.source_lang as string,\n targetLanguage: input.target_lang as string,\n });\n } catch {\n throw new PermanentJobError(\n `Chrome Built-in AI \"Translator\" is not available (status: \"no\"). ` +\n `Ensure you are using a compatible Chrome version with the flag enabled.`\n );\n }\n if (status === \"unavailable\") {\n throw new PermanentJobError(\n `Chrome Built-in AI \"Translator\" is not available (status: \"no\"). ` +\n `Ensure you are using a compatible Chrome version with the flag enabled.`\n );\n }\n\n const translator = await factory.create({\n sourceLanguage: input.source_lang as string,\n targetLanguage: input.target_lang as string,\n });\n try {\n const stream = translator.translateStreaming(input.text as string, { signal });\n yield* snapshotStreamToSnapshots<TextTranslationTaskOutput>(stream, (text) => ({\n text,\n target_lang: input.target_lang,\n }));\n } finally {\n translator.destroy();\n }\n};\n",
10
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n AiProviderStreamFn,\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n} from \"@workglow/ai\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\n\nimport { ensureAvailable, getApi, snapshotStreamToTextDeltas } from \"./WebBrowser_ChromeHelpers\";\nimport type { WebBrowserModelConfig } from \"./WebBrowser_ModelSchema\";\n\nexport const WebBrowser_TextGeneration: AiProviderRunFn<\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n WebBrowserModelConfig\n> = async (input, model, update_progress, signal) => {\n const factory = getApi(\n \"LanguageModel\",\n typeof LanguageModel !== \"undefined\" ? LanguageModel : undefined\n );\n await ensureAvailable(\"LanguageModel\", factory);\n\n const session = await factory.create({\n temperature: input.temperature ?? undefined,\n });\n try {\n const text = await session.prompt(input.prompt, { signal });\n update_progress(100, \"Completed text generation\");\n return { text };\n } finally {\n session.destroy();\n }\n};\n\nexport const WebBrowser_TextGeneration_Stream: AiProviderStreamFn<\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n WebBrowserModelConfig\n> = async function* (input, model, signal): AsyncIterable<StreamEvent<TextGenerationTaskOutput>> {\n const factory = getApi(\n \"LanguageModel\",\n typeof LanguageModel !== \"undefined\" ? LanguageModel : undefined\n );\n await ensureAvailable(\"LanguageModel\", factory);\n\n const session = await factory.create({\n temperature: input.temperature ?? undefined,\n });\n try {\n const stream = session.promptStreaming(input.prompt, { signal });\n yield* snapshotStreamToTextDeltas<TextGenerationTaskOutput>(stream, \"text\", (text) => ({\n text,\n }));\n } finally {\n session.destroy();\n }\n};\n",
11
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n TextLanguageDetectionTaskInput,\n TextLanguageDetectionTaskOutput,\n} from \"@workglow/ai\";\n\nimport { ensureAvailable, getApi } from \"./WebBrowser_ChromeHelpers\";\nimport type { WebBrowserModelConfig } from \"./WebBrowser_ModelSchema\";\n\nexport const WebBrowser_TextLanguageDetection: AiProviderRunFn<\n TextLanguageDetectionTaskInput,\n TextLanguageDetectionTaskOutput,\n WebBrowserModelConfig\n> = async (input, model, update_progress, signal) => {\n const factory = getApi(\n \"LanguageDetector\",\n typeof LanguageDetector !== \"undefined\" ? LanguageDetector : undefined\n );\n await ensureAvailable(\"LanguageDetector\", factory);\n\n const detector = await factory.create();\n try {\n const detected = await detector.detect(input.text, { signal });\n const languages = detected\n .map((d) => ({ language: d.detectedLanguage, score: d.confidence }))\n .slice(0, input.maxLanguages ?? 5);\n update_progress(100, \"Completed language detection\");\n return { languages };\n } finally {\n detector.destroy();\n }\n};\n",
12
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n AiProviderStreamFn,\n TextRewriterTaskInput,\n TextRewriterTaskOutput,\n} from \"@workglow/ai\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\n\nimport {\n ensureAvailable,\n getApi,\n getConfig,\n snapshotStreamToTextDeltas,\n} from \"./WebBrowser_ChromeHelpers\";\nimport type { WebBrowserModelConfig } from \"./WebBrowser_ModelSchema\";\n\nexport const WebBrowser_TextRewriter: AiProviderRunFn<\n TextRewriterTaskInput,\n TextRewriterTaskOutput,\n WebBrowserModelConfig\n> = async (input, model, update_progress, signal) => {\n const factory = getApi(\"Rewriter\", typeof Rewriter !== \"undefined\" ? Rewriter : undefined);\n await ensureAvailable(\"Rewriter\", factory);\n const config = getConfig(model);\n\n const rewriter = await factory.create({\n tone: config.rewriter_tone,\n length: config.rewriter_length,\n });\n try {\n const text = await rewriter.rewrite(input.text, {\n signal,\n context: input.prompt,\n });\n update_progress(100, \"Completed text rewriting\");\n return { text };\n } finally {\n rewriter.destroy();\n }\n};\n\nexport const WebBrowser_TextRewriter_Stream: AiProviderStreamFn<\n TextRewriterTaskInput,\n TextRewriterTaskOutput,\n WebBrowserModelConfig\n> = async function* (input, model, signal): AsyncIterable<StreamEvent<TextRewriterTaskOutput>> {\n const factory = getApi(\"Rewriter\", typeof Rewriter !== \"undefined\" ? Rewriter : undefined);\n await ensureAvailable(\"Rewriter\", factory);\n const config = getConfig(model);\n\n const rewriter = await factory.create({\n tone: config.rewriter_tone,\n length: config.rewriter_length,\n });\n try {\n const stream = rewriter.rewriteStreaming(input.text, {\n signal,\n context: input.prompt,\n });\n yield* snapshotStreamToTextDeltas<TextRewriterTaskOutput>(stream, \"text\", (text) => ({ text }));\n } finally {\n rewriter.destroy();\n }\n};\n",
13
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n AiProviderStreamFn,\n TextSummaryTaskInput,\n TextSummaryTaskOutput,\n} from \"@workglow/ai\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\n\nimport {\n ensureAvailable,\n getApi,\n getConfig,\n snapshotStreamToTextDeltas,\n} from \"./WebBrowser_ChromeHelpers\";\nimport type { WebBrowserModelConfig } from \"./WebBrowser_ModelSchema\";\n\nexport const WebBrowser_TextSummary: AiProviderRunFn<\n TextSummaryTaskInput,\n TextSummaryTaskOutput,\n WebBrowserModelConfig\n> = async (input, model, update_progress, signal) => {\n const factory = getApi(\n \"Summarizer\",\n (globalThis as any)?.ai?.summarizer ??\n (typeof Summarizer !== \"undefined\" ? Summarizer : undefined)\n );\n await ensureAvailable(\"Summarizer\", factory);\n const config = getConfig(model);\n\n const summarizer = await factory.create({\n type: config.summary_type,\n length: config.summary_length,\n format: config.summary_format,\n });\n try {\n const text = await summarizer.summarize(input.text, { signal });\n update_progress(100, \"Completed text summarization\");\n return { text };\n } finally {\n summarizer.destroy();\n }\n};\n\nexport const WebBrowser_TextSummary_Stream: AiProviderStreamFn<\n TextSummaryTaskInput,\n TextSummaryTaskOutput,\n WebBrowserModelConfig\n> = async function* (input, model, signal): AsyncIterable<StreamEvent<TextSummaryTaskOutput>> {\n const factory = getApi(\"Summarizer\", typeof Summarizer !== \"undefined\" ? Summarizer : undefined);\n await ensureAvailable(\"Summarizer\", factory);\n const config = getConfig(model);\n\n const summarizer = await factory.create({\n type: config.summary_type,\n length: config.summary_length,\n format: config.summary_format,\n });\n try {\n const stream = summarizer.summarizeStreaming(input.text, { signal });\n yield* snapshotStreamToTextDeltas<TextSummaryTaskOutput>(stream, \"text\", (text) => ({ text }));\n } finally {\n summarizer.destroy();\n }\n};\n",
14
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n AiProviderStreamFn,\n TextTranslationTaskInput,\n TextTranslationTaskOutput,\n} from \"@workglow/ai\";\nimport { PermanentJobError } from \"@workglow/job-queue\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\n\nimport { AIAvailability } from \"./WebBrowser_ChromeAI\";\nimport { ensureAvailable, getApi, snapshotStreamToSnapshots } from \"./WebBrowser_ChromeHelpers\";\nimport type { WebBrowserModelConfig } from \"./WebBrowser_ModelSchema\";\n\nexport const WebBrowser_TextTranslation: AiProviderRunFn<\n TextTranslationTaskInput,\n TextTranslationTaskOutput,\n WebBrowserModelConfig\n> = async (input, model, update_progress, signal) => {\n const factory = getApi(\"Translator\", typeof Translator !== \"undefined\" ? Translator : undefined);\n await ensureAvailable(\"Translator\", factory);\n\n const translationAvailability = await factory.availability({\n sourceLanguage: input.source_lang,\n targetLanguage: input.target_lang,\n });\n if (!translationAvailability || translationAvailability === \"unavailable\") {\n throw new PermanentJobError(\n `Translator not available for language pair ${String(\n input.source_lang\n )} -> ${String(input.target_lang)}`\n );\n }\n\n const translator = await factory.create({\n sourceLanguage: input.source_lang,\n targetLanguage: input.target_lang,\n });\n try {\n const text = await translator.translate(input.text, { signal });\n update_progress(100, \"Completed text translation\");\n return { text, target_lang: input.target_lang };\n } finally {\n translator.destroy();\n }\n};\n\nexport const WebBrowser_TextTranslation_Stream: AiProviderStreamFn<\n TextTranslationTaskInput,\n TextTranslationTaskOutput,\n WebBrowserModelConfig\n> = async function* (input, model, signal): AsyncIterable<StreamEvent<TextTranslationTaskOutput>> {\n const factory = getApi(\"Translator\", typeof Translator !== \"undefined\" ? Translator : undefined);\n let status: AIAvailability;\n try {\n status = await factory.availability({\n sourceLanguage: input.source_lang,\n targetLanguage: input.target_lang,\n });\n } catch {\n throw new PermanentJobError(\n `Chrome Built-in AI \"Translator\" is not available (status: \"no\"). ` +\n `Ensure you are using a compatible Chrome version with the flag enabled.`\n );\n }\n if (status === \"unavailable\") {\n throw new PermanentJobError(\n `Chrome Built-in AI \"Translator\" is not available (status: \"no\"). ` +\n `Ensure you are using a compatible Chrome version with the flag enabled.`\n );\n }\n\n const translator = await factory.create({\n sourceLanguage: input.source_lang,\n targetLanguage: input.target_lang,\n });\n try {\n const stream = translator.translateStreaming(input.text, { signal });\n yield* snapshotStreamToSnapshots<TextTranslationTaskOutput>(stream, (text) => ({\n text,\n target_lang: input.target_lang,\n }));\n } finally {\n translator.destroy();\n }\n};\n",
15
15
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRunFn, AiProviderStreamFn } from \"@workglow/ai\";\nimport type { WebBrowserModelConfig } from \"./WebBrowser_ModelSchema\";\nimport { WebBrowser_ModelSearch } from \"./WebBrowser_ModelSearch\";\n\nimport { WebBrowser_ModelInfo } from \"./WebBrowser_ModelInfo\";\nimport {\n WebBrowser_TextGeneration,\n WebBrowser_TextGeneration_Stream,\n} from \"./WebBrowser_TextGeneration\";\nimport { WebBrowser_TextLanguageDetection } from \"./WebBrowser_TextLanguageDetection\";\nimport { WebBrowser_TextRewriter, WebBrowser_TextRewriter_Stream } from \"./WebBrowser_TextRewriter\";\nimport { WebBrowser_TextSummary, WebBrowser_TextSummary_Stream } from \"./WebBrowser_TextSummary\";\nimport {\n WebBrowser_TextTranslation,\n WebBrowser_TextTranslation_Stream,\n} from \"./WebBrowser_TextTranslation\";\n\nexport const WEB_BROWSER_TASKS: Record<string, AiProviderRunFn<any, any, WebBrowserModelConfig>> = {\n ModelInfoTask: WebBrowser_ModelInfo,\n TextSummaryTask: WebBrowser_TextSummary,\n TextLanguageDetectionTask: WebBrowser_TextLanguageDetection,\n TextTranslationTask: WebBrowser_TextTranslation,\n TextGenerationTask: WebBrowser_TextGeneration,\n TextRewriterTask: WebBrowser_TextRewriter,\n ModelSearchTask: WebBrowser_ModelSearch,\n};\n\nexport const WEB_BROWSER_STREAM_TASKS: Record<\n string,\n AiProviderStreamFn<any, any, WebBrowserModelConfig>\n> = {\n TextSummaryTask: WebBrowser_TextSummary_Stream,\n TextTranslationTask: WebBrowser_TextTranslation_Stream,\n TextGenerationTask: WebBrowser_TextGeneration_Stream,\n TextRewriterTask: WebBrowser_TextRewriter_Stream,\n};\n",
16
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 { WEB_BROWSER } from \"./common/WebBrowser_Constants\";\nimport type { WebBrowserModelConfig } from \"./common/WebBrowser_ModelSchema\";\n\n/** Main-thread registration (inline or worker-backed); creates the default job queue. */\nexport class WebBrowserQueuedProvider extends QueuedAiProvider<WebBrowserModelConfig> {\n readonly name = WEB_BROWSER;\n readonly displayName = \"Chrome Built-in AI\";\n readonly isLocal = true;\n readonly supportsBrowser = true;\n\n readonly taskTypes = [\n \"ModelInfoTask\",\n \"TextSummaryTask\",\n \"TextLanguageDetectionTask\",\n \"TextTranslationTask\",\n \"TextGenerationTask\",\n \"TextRewriterTask\",\n \"ModelSearchTask\",\n ] as const;\n\n constructor(\n tasks?: Record<string, AiProviderRunFn<any, any, WebBrowserModelConfig>>,\n streamTasks?: Record<string, AiProviderStreamFn<any, any, WebBrowserModelConfig>>,\n reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, WebBrowserModelConfig>>\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 { WEB_BROWSER_STREAM_TASKS, WEB_BROWSER_TASKS } from \"./common/WebBrowser_JobRunFns\";\nimport { WebBrowserQueuedProvider } from \"./WebBrowserQueuedProvider\";\n\nexport async function registerWebBrowserInline(options?: AiProviderRegisterOptions): Promise<void> {\n await new WebBrowserQueuedProvider(WEB_BROWSER_TASKS, WEB_BROWSER_STREAM_TASKS).register(\n options ?? {}\n );\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 { WEB_BROWSER_STREAM_TASKS, WEB_BROWSER_TASKS } from \"./common/WebBrowser_JobRunFns\";\nimport { WebBrowserProvider } from \"./WebBrowserProvider\";\n\nexport async function registerWebBrowserWorker(): Promise<void> {\n const workerServer = globalServiceRegistry.get(WORKER_SERVER);\n new WebBrowserProvider(WEB_BROWSER_TASKS, WEB_BROWSER_STREAM_TASKS).registerOnWorkerServer(\n workerServer\n );\n workerServer.sendReady();\n getLogger().info(\"Web browser worker job run functions registered\");\n}\n",
19
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 { WEB_BROWSER } from \"./common/WebBrowser_Constants\";\nimport type { WebBrowserModelConfig } from \"./common/WebBrowser_ModelSchema\";\n\n/**\n * AI provider for Chrome Built-in AI APIs (Gemini Nano on-device).\n *\n * Browser-only provider — no external SDK needed, the APIs are browser globals.\n *\n * Supports summarization, language detection, translation, text generation\n * (Prompt API), and text rewriting via Chrome's Built-in AI APIs.\n *\n * Task run functions are injected via the constructor so that the provider\n * class itself has no runtime dependency on Chrome globals (it can be\n * instantiated on the main thread in worker mode without errors).\n */\nexport class WebBrowserProvider extends AiProvider<WebBrowserModelConfig> {\n readonly name = WEB_BROWSER;\n readonly displayName = \"Chrome Built-in AI\";\n readonly isLocal = true;\n readonly supportsBrowser = true;\n\n readonly taskTypes = [\n \"ModelInfoTask\",\n \"TextSummaryTask\",\n \"TextLanguageDetectionTask\",\n \"TextTranslationTask\",\n \"TextGenerationTask\",\n \"TextRewriterTask\",\n \"ModelSearchTask\",\n ] as const;\n\n constructor(\n tasks?: Record<string, AiProviderRunFn<any, any, WebBrowserModelConfig>>,\n streamTasks?: Record<string, AiProviderStreamFn<any, any, WebBrowserModelConfig>>,\n reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, WebBrowserModelConfig>>\n ) {\n super(tasks, streamTasks, reactiveTasks);\n }\n}\n"
20
20
  ],
21
- "mappings": "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",
22
- "debugId": "31EB7FB527983A2964756E2164756E21",
21
+ "mappings": "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",
22
+ "debugId": "37373CDDC3ABF1CA64756E2164756E21",
23
23
  "names": []
24
24
  }
@@ -20,7 +20,7 @@ export declare class GoogleGeminiProvider extends AiProvider<GeminiModelConfig>
20
20
  readonly displayName = "Google Gemini";
21
21
  readonly isLocal = false;
22
22
  readonly supportsBrowser = true;
23
- readonly taskTypes: readonly ["CountTokensTask", "ModelInfoTask", "TextGenerationTask", "TextEmbeddingTask", "TextRewriterTask", "TextSummaryTask", "StructuredGenerationTask", "ToolCallingTask", "ModelSearchTask"];
23
+ readonly taskTypes: readonly ["CountTokensTask", "ModelInfoTask", "TextGenerationTask", "TextEmbeddingTask", "TextRewriterTask", "TextSummaryTask", "StructuredGenerationTask", "ModelSearchTask"];
24
24
  constructor(tasks?: Record<string, AiProviderRunFn<any, any, GeminiModelConfig>>, streamTasks?: Record<string, AiProviderStreamFn<any, any, GeminiModelConfig>>, reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, GeminiModelConfig>>);
25
25
  }
26
26
  //# sourceMappingURL=GoogleGeminiProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleGeminiProvider.d.ts","sourceRoot":"","sources":["../../src/provider-gemini/GoogleGeminiProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,UAAU,EACV,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACxB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;;;;;;;;GASG;AACH,qBAAa,oBAAqB,SAAQ,UAAU,CAAC,iBAAiB,CAAC;IACrE,QAAQ,CAAC,IAAI,mBAAiB;IAC9B,QAAQ,CAAC,WAAW,mBAAmB;IACvC,QAAQ,CAAC,OAAO,SAAS;IACzB,QAAQ,CAAC,eAAe,QAAQ;IAEhC,QAAQ,CAAC,SAAS,oMAUP;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":"GoogleGeminiProvider.d.ts","sourceRoot":"","sources":["../../src/provider-gemini/GoogleGeminiProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,UAAU,EACV,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACxB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;;;;;;;;GASG;AACH,qBAAa,oBAAqB,SAAQ,UAAU,CAAC,iBAAiB,CAAC;IACrE,QAAQ,CAAC,IAAI,mBAAiB;IAC9B,QAAQ,CAAC,WAAW,mBAAmB;IACvC,QAAQ,CAAC,OAAO,SAAS;IACzB,QAAQ,CAAC,eAAe,QAAQ;IAEhC,QAAQ,CAAC,SAAS,iLASP;IAEX,YACE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC,EACpE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC,EAC7E,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC,EAGrF;CACF"}
@@ -3,15 +3,15 @@
3
3
  * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { QueuedAiProvider, type AiProviderReactiveRunFn, type AiProviderRunFn, type AiProviderStreamFn } from "@workglow/ai";
6
+ import { AiProvider, type AiProviderReactiveRunFn, type AiProviderRunFn, type AiProviderStreamFn } from "@workglow/ai";
7
7
  import type { GeminiModelConfig } from "./common/Gemini_ModelSchema";
8
- /** Main-thread registration (inline or worker-backed); creates the default job queue. */
9
- export declare class GoogleGeminiQueuedProvider extends QueuedAiProvider<GeminiModelConfig> {
8
+ /** Main-thread registration (inline or worker-backed). No queue uses direct execution. */
9
+ export declare class GoogleGeminiQueuedProvider extends AiProvider<GeminiModelConfig> {
10
10
  readonly name = "GOOGLE_GEMINI";
11
11
  readonly displayName = "Google Gemini";
12
12
  readonly isLocal = false;
13
13
  readonly supportsBrowser = true;
14
- readonly taskTypes: readonly ["CountTokensTask", "ModelInfoTask", "TextGenerationTask", "TextEmbeddingTask", "TextRewriterTask", "TextSummaryTask", "StructuredGenerationTask", "ToolCallingTask", "ModelSearchTask"];
14
+ readonly taskTypes: readonly ["CountTokensTask", "ModelInfoTask", "TextGenerationTask", "TextEmbeddingTask", "TextRewriterTask", "TextSummaryTask", "StructuredGenerationTask", "ModelSearchTask"];
15
15
  constructor(tasks?: Record<string, AiProviderRunFn<any, any, GeminiModelConfig>>, streamTasks?: Record<string, AiProviderStreamFn<any, any, GeminiModelConfig>>, reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, GeminiModelConfig>>);
16
16
  }
17
17
  //# sourceMappingURL=GoogleGeminiQueuedProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleGeminiQueuedProvider.d.ts","sourceRoot":"","sources":["../../src/provider-gemini/GoogleGeminiQueuedProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACxB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE,yFAAyF;AACzF,qBAAa,0BAA2B,SAAQ,gBAAgB,CAAC,iBAAiB,CAAC;IACjF,QAAQ,CAAC,IAAI,mBAAiB;IAC9B,QAAQ,CAAC,WAAW,mBAAmB;IACvC,QAAQ,CAAC,OAAO,SAAS;IACzB,QAAQ,CAAC,eAAe,QAAQ;IAEhC,QAAQ,CAAC,SAAS,oMAUP;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":"GoogleGeminiQueuedProvider.d.ts","sourceRoot":"","sources":["../../src/provider-gemini/GoogleGeminiQueuedProvider.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,0BAA2B,SAAQ,UAAU,CAAC,iBAAiB,CAAC;IAC3E,QAAQ,CAAC,IAAI,mBAAiB;IAC9B,QAAQ,CAAC,WAAW,mBAAmB;IACvC,QAAQ,CAAC,OAAO,SAAS;IACzB,QAAQ,CAAC,eAAe,QAAQ;IAEhC,QAAQ,CAAC,SAAS,iLASP;IAEX,YACE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC,EACpE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC,EAC7E,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC,EAGrF;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"Gemini_CountTokens.d.ts","sourceRoot":"","sources":["../../../src/provider-gemini/common/Gemini_CountTokens.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,eAAO,MAAM,kBAAkB,EAAE,eAAe,CAC9C,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,CAoBlB,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,uBAAuB,CAC/D,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,CAMlB,CAAC"}
1
+ {"version":3,"file":"Gemini_CountTokens.d.ts","sourceRoot":"","sources":["../../../src/provider-gemini/common/Gemini_CountTokens.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,eAAO,MAAM,kBAAkB,EAAE,eAAe,CAC9C,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,CAOlB,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,uBAAuB,CAC/D,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,CAGlB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Gemini_JobRunFns.d.ts","sourceRoot":"","sources":["../../../src/provider-gemini/common/Gemini_JobRunFns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACjG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAc1D,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAUrF,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CACtC,MAAM,EACN,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAOhD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CACxC,MAAM,EACN,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAGrD,CAAC"}
1
+ {"version":3,"file":"Gemini_JobRunFns.d.ts","sourceRoot":"","sources":["../../../src/provider-gemini/common/Gemini_JobRunFns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACjG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAY1D,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CASrF,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CACtC,MAAM,EACN,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAMhD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CACxC,MAAM,EACN,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAGrD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Gemini_TextEmbedding.d.ts","sourceRoot":"","sources":["../../../src/provider-gemini/common/Gemini_TextEmbedding.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAErG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,eAAO,MAAM,oBAAoB,EAAE,eAAe,CAChD,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,CAsClB,CAAC"}
1
+ {"version":3,"file":"Gemini_TextEmbedding.d.ts","sourceRoot":"","sources":["../../../src/provider-gemini/common/Gemini_TextEmbedding.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,eAAO,MAAM,oBAAoB,EAAE,eAAe,CAChD,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,CAsClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Gemini_TextGeneration.d.ts","sourceRoot":"","sources":["../../../src/provider-gemini/common/Gemini_TextGeneration.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAG3H,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,eAAO,MAAM,qBAAqB,EAAE,eAAe,CACjD,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,CA4ClB,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,kBAAkB,CAC3D,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,CAyBlB,CAAC"}
1
+ {"version":3,"file":"Gemini_TextGeneration.d.ts","sourceRoot":"","sources":["../../../src/provider-gemini/common/Gemini_TextGeneration.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,eAAO,MAAM,qBAAqB,EAAE,eAAe,CACjD,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,CA0BlB,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,kBAAkB,CAC3D,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,CAyBlB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Gemini_TextRewriter.d.ts","sourceRoot":"","sources":["../../../src/provider-gemini/common/Gemini_TextRewriter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAGvH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,eAAO,MAAM,mBAAmB,EAAE,eAAe,CAC/C,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,CA8BlB,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CACzD,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,CAqBlB,CAAC"}
1
+ {"version":3,"file":"Gemini_TextRewriter.d.ts","sourceRoot":"","sources":["../../../src/provider-gemini/common/Gemini_TextRewriter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,eAAO,MAAM,mBAAmB,EAAE,eAAe,CAC/C,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,CAiBlB,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CACzD,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,CAqBlB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Gemini_TextSummary.d.ts","sourceRoot":"","sources":["../../../src/provider-gemini/common/Gemini_TextSummary.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAGrH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,eAAO,MAAM,kBAAkB,EAAE,eAAe,CAC9C,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,CA8BlB,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,CACxD,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,CAqBlB,CAAC"}
1
+ {"version":3,"file":"Gemini_TextSummary.d.ts","sourceRoot":"","sources":["../../../src/provider-gemini/common/Gemini_TextSummary.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,eAAO,MAAM,kBAAkB,EAAE,eAAe,CAC9C,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,CAiBlB,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,CACxD,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,CAqBlB,CAAC"}
@@ -91,9 +91,9 @@ var GeminiModelConfigSchema = {
91
91
  };
92
92
  // src/provider-gemini/GoogleGeminiQueuedProvider.ts
93
93
  import {
94
- QueuedAiProvider
94
+ AiProvider
95
95
  } from "@workglow/ai";
96
- class GoogleGeminiQueuedProvider extends QueuedAiProvider {
96
+ class GoogleGeminiQueuedProvider extends AiProvider {
97
97
  name = GOOGLE_GEMINI;
98
98
  displayName = "Google Gemini";
99
99
  isLocal = false;
@@ -106,7 +106,6 @@ class GoogleGeminiQueuedProvider extends QueuedAiProvider {
106
106
  "TextRewriterTask",
107
107
  "TextSummaryTask",
108
108
  "StructuredGenerationTask",
109
- "ToolCallingTask",
110
109
  "ModelSearchTask"
111
110
  ];
112
111
  constructor(tasks, streamTasks, reactiveTasks) {
@@ -126,4 +125,4 @@ export {
126
125
  GOOGLE_GEMINI
127
126
  };
128
127
 
129
- //# debugId=BAE86BC56B131EA564756E2164756E21
128
+ //# debugId=FA5E6C714ED2454764756E2164756E21
@@ -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 GOOGLE_GEMINI = \"GOOGLE_GEMINI\";\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 { GOOGLE_GEMINI } from \"./Gemini_Constants\";\n\nexport const GeminiModelSchema = {\n type: \"object\",\n properties: {\n provider: {\n const: GOOGLE_GEMINI,\n description: \"Discriminator: Google Gemini cloud provider.\",\n },\n provider_config: {\n type: \"object\",\n description: \"Google Gemini-specific configuration.\",\n properties: {\n model_name: {\n type: \"string\",\n description:\n \"The Gemini model identifier (e.g., 'gemini-2.0-flash', 'text-embedding-004').\",\n },\n credential_key: {\n type: \"string\",\n format: \"credential\",\n description: \"Key to look up in the credential store for the API key.\",\n \"x-ui-hidden\": true,\n },\n embedding_task_type: {\n oneOf: [\n { type: \"null\" },\n {\n type: \"string\",\n enum: [\n \"RETRIEVAL_QUERY\",\n \"RETRIEVAL_DOCUMENT\",\n \"SEMANTIC_SIMILARITY\",\n \"CLASSIFICATION\",\n \"CLUSTERING\",\n ],\n },\n ],\n description: \"Task type hint for embedding models.\",\n default: null,\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 GeminiModelRecordSchema = {\n type: \"object\",\n properties: {\n ...ModelRecordSchema.properties,\n ...GeminiModelSchema.properties,\n },\n required: [...ModelRecordSchema.required, ...GeminiModelSchema.required],\n additionalProperties: false,\n} as const satisfies DataPortSchemaObject;\n\nexport type GeminiModelRecord = FromSchema<typeof GeminiModelRecordSchema>;\n\nexport const GeminiModelConfigSchema = {\n type: \"object\",\n properties: {\n ...ModelConfigSchema.properties,\n ...GeminiModelSchema.properties,\n },\n required: [...ModelConfigSchema.required, ...GeminiModelSchema.required],\n additionalProperties: false,\n} as const satisfies DataPortSchemaObject;\n\nexport type GeminiModelConfig = FromSchema<typeof GeminiModelConfigSchema>;\n",
7
- "/**\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 { GOOGLE_GEMINI } from \"./common/Gemini_Constants\";\nimport type { GeminiModelConfig } from \"./common/Gemini_ModelSchema\";\n\n/** Main-thread registration (inline or worker-backed); creates the default job queue. */\nexport class GoogleGeminiQueuedProvider extends QueuedAiProvider<GeminiModelConfig> {\n readonly name = GOOGLE_GEMINI;\n readonly displayName = \"Google Gemini\";\n readonly isLocal = false;\n readonly supportsBrowser = true;\n\n readonly taskTypes = [\n \"CountTokensTask\",\n \"ModelInfoTask\",\n \"TextGenerationTask\",\n \"TextEmbeddingTask\",\n \"TextRewriterTask\",\n \"TextSummaryTask\",\n \"StructuredGenerationTask\",\n \"ToolCallingTask\",\n \"ModelSearchTask\",\n ] as const;\n\n constructor(\n tasks?: Record<string, AiProviderRunFn<any, any, GeminiModelConfig>>,\n streamTasks?: Record<string, AiProviderStreamFn<any, any, GeminiModelConfig>>,\n reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, GeminiModelConfig>>\n ) {\n super(tasks, streamTasks, reactiveTasks);\n }\n}\n",
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 { GOOGLE_GEMINI } from \"./common/Gemini_Constants\";\nimport type { GeminiModelConfig } from \"./common/Gemini_ModelSchema\";\n\n/** Main-thread registration (inline or worker-backed). No queue uses direct execution. */\nexport class GoogleGeminiQueuedProvider extends AiProvider<GeminiModelConfig> {\n readonly name = GOOGLE_GEMINI;\n readonly displayName = \"Google Gemini\";\n readonly isLocal = false;\n readonly supportsBrowser = true;\n\n readonly taskTypes = [\n \"CountTokensTask\",\n \"ModelInfoTask\",\n \"TextGenerationTask\",\n \"TextEmbeddingTask\",\n \"TextRewriterTask\",\n \"TextSummaryTask\",\n \"StructuredGenerationTask\",\n \"ModelSearchTask\",\n ] as const;\n\n constructor(\n tasks?: Record<string, AiProviderRunFn<any, any, GeminiModelConfig>>,\n streamTasks?: Record<string, AiProviderStreamFn<any, any, GeminiModelConfig>>,\n reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, GeminiModelConfig>>\n ) {\n super(tasks, streamTasks, reactiveTasks);\n }\n}\n",
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 { GoogleGeminiQueuedProvider } from \"./GoogleGeminiQueuedProvider\";\n\nexport async function registerGemini(\n options: AiProviderRegisterOptions & {\n worker: Worker | (() => Worker);\n }\n): Promise<void> {\n await new GoogleGeminiQueuedProvider().register(options);\n}\n"
9
9
  ],
10
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAMO,IAAM,gBAAgB;;ACA7B;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,aACE;AAAA,QACJ;AAAA,QACA,gBAAgB;AAAA,UACd,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,aAAa;AAAA,UACb,eAAe;AAAA,QACjB;AAAA,QACA,qBAAqB;AAAA,UACnB,OAAO;AAAA,YACL,EAAE,MAAM,OAAO;AAAA,YACf;AAAA,cACE,MAAM;AAAA,cACN,MAAM;AAAA,gBACJ;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA,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;;ACxEA;AAAA;AAAA;AAUO,MAAM,mCAAmC,iBAAoC;AAAA,EACzE,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,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,WAAW,CACT,OACA,aACA,eACA;AAAA,IACA,MAAM,OAAO,aAAa,aAAa;AAAA;AAE3C;;;AChCA,eAAsB,cAAc,CAClC,SAGe;AAAA,EACf,MAAM,IAAI,2BAA2B,EAAE,SAAS,OAAO;AAAA;",
11
- "debugId": "BAE86BC56B131EA564756E2164756E21",
10
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAMO,IAAM,gBAAgB;;ACA7B;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,aACE;AAAA,QACJ;AAAA,QACA,gBAAgB;AAAA,UACd,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,aAAa;AAAA,UACb,eAAe;AAAA,QACjB;AAAA,QACA,qBAAqB;AAAA,UACnB,OAAO;AAAA,YACL,EAAE,MAAM,OAAO;AAAA,YACf;AAAA,cACE,MAAM;AAAA,cACN,MAAM;AAAA,gBACJ;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA,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;;ACxEA;AAAA;AAAA;AAUO,MAAM,mCAAmC,WAA8B;AAAA,EACnE,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,IACA;AAAA,EACF;AAAA,EAEA,WAAW,CACT,OACA,aACA,eACA;AAAA,IACA,MAAM,OAAO,aAAa,aAAa;AAAA;AAE3C;;;AC/BA,eAAsB,cAAc,CAClC,SAGe;AAAA,EACf,MAAM,IAAI,2BAA2B,EAAE,SAAS,OAAO;AAAA;",
11
+ "debugId": "FA5E6C714ED2454764756E2164756E21",
12
12
  "names": []
13
13
  }